Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 03.12.2020
Сообщений: 20

Батник за изменение иконки папок с ключевым словом в названии

25.03.2022, 22:21. Показов 912. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть условная папка C://Folder в которой лежит несколько сотен других папок. Я хочу их украсить изменив у некоторых из них иконку. Как пример.
Я кладу в папку C://Folder *.bat файл и запускаю его.
Он находит все папки в папке C://Folder в названии которых есть слово "[Video]" без кавычек но в скобках.
А потом меняет у всех этих папок иконку на папку с видео из файла "C:\Windows\System32\imageres.dll"



Важно, искать нужно только папки в папке C://Folder, но не заходить глубже, например C://Folder/Folder 2
Так же ключевое слово и иконка видео это лишь пример. Батник должен быть легко изменяемым что б я мог при желании вписать другое ключевое слово и другую иконку.

Возможно ли написать такой батник?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.03.2022, 22:21
Ответы с готовыми решениями:

Иконки папок, батник на изменение группы папок
Здравстуйте :) Начну издалека. Имеется значит у меня набор портативных программок на все случаи жизни (ну или почти). Папка с кучей...

Батник для замены символа в названии папок на пробел
Доброго дня. Нужно переименовать десятки папок, точнее заменить "_" на " ", т.е. на пробел. Похожих тем в быстром поиске не обнаружилось -...

Батник, изменяющий иконки папок
Есть винчестер на 850гб. Там много разных папок с играми, которым нужно присвоить значки для удобства восприятия всей этой каши. Ну так...

14
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,767
26.03.2022, 01:05
Windows Batch file
1
2
3
4
5
@for /f "delims= eol=" %%d in ('dir/ad/b/s *[Video]*') do @(
  echo [.ShellClassInfo]>"%%d\desktop.ini"
  echo IconResource=%Windir%\system32\imageres.dll,18>>"%%d\desktop.ini"
  attrib +h "%%d\desktop.ini"
)
Или так (без разницы):
Windows Batch file
1
2
3
4
5
6
7
8
@set f=desktop.ini
@for /f "delims= eol=" %%d in ('dir/ad/b/s *[Video]*') do @(
  pushd "%%d"
  echo [.ShellClassInfo]>%f%
  echo IconResource=%Windir%\system32\imageres.dll,18>>%f%
  attrib +h %f%
  popd
)
0
1 / 1 / 0
Регистрация: 03.12.2020
Сообщений: 20
26.03.2022, 01:11  [ТС]
Что-то не работает. Я слегка изменил батник:
Windows Batch file
1
2
3
4
5
6
@for /f "delims= eol=" %%d in ('dir/ad/b/s *[Video]*') do @(
  echo [.ShellClassInfo]>"%%d\desktop.ini"
  echo IconResource=%Windir%\system32\imageres.dll,18>>"%%d\desktop.ini"
  attrib +h "%%d\desktop.ini"
)
pause
При запуске пишет вот что
Code
1
2
3
4
Отказано в доступе.
 
F:\Folder>pause
Для продолжения нажмите любую клавишу . . .
Если запускать с правами администратора то это
Code
1
2
3
4
Файл не найден
 
C:\WINDOWS\system32>pause
Для продолжения нажмите любую клавишу . . .
Добавлено через 4 минуты
Второй вариант хоть какой-то результат дал. Если запускать от админа пишет
Code
1
2
3
4
Файл не найден
 
C:\WINDOWS\system32>pause
Для продолжения нажмите любую клавишу . . .
При этом иконка папки изменилась на иконку неизвестного файла.
Эта иконка самая первая в файле %SystemRoot%\System32\SHELL32.dll
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,767
26.03.2022, 01:13
Цитата Сообщение от K14M Посмотреть сообщение
Если запускать с правами администратора
Впишите @pushd %~dp0 первой строкой.
0
1 / 1 / 0
Регистрация: 03.12.2020
Сообщений: 20
26.03.2022, 01:16  [ТС]
Code
1
2
3
4
5
6
C:\WINDOWS\system32>pushd F:\Folder\
Отказано в доступе.
Переустановка атрибутов системного файла F:\Folder\@Folder [Video]\desktop.ini не произведена
 
F:\ecchi.iwara.tv>pause
Для продолжения нажмите любую клавишу . . .
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,767
26.03.2022, 01:18
Подразумевалось, что запускать всё равно с повышением, только с данной вставкой.
Без повышения нельзя ставить нек. атрибуты.
Спереди улитку добавил, не забудьте.
0
1 / 1 / 0
Регистрация: 03.12.2020
Сообщений: 20
26.03.2022, 01:24  [ТС]
Windows Batch file
1
2
3
4
5
6
7
8
9
10
@pushd %~dp0
@set f=desktop.ini
@for /f "delims= eol=" %%d in ('dir/ad/b/s *[Video]*') do @(
  pushd "%%d"
  echo [.ShellClassInfo]>%f%
  echo IconResource=%Windir%\system32\imageres.dll,18>>%f%
  attrib +h %f%
  popd
)
pause
Создаю новую папку. Запускаю файл.
Code
1
2
F:\Folder>pause
Для продолжения нажмите любую клавишу . . .
Иконка не меняется. Я даже процесс проводника убивал.
Если снова запустить батник то говорит уже такое:
Code
1
2
3
4
Отказано в доступе.
 
F:\Folder>pause
Для продолжения нажмите любую клавишу . . .
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,767
26.03.2022, 01:27
В папку с [Video] зайдите. Там desktop.ini появился с соотв. содержимым?
0
1 / 1 / 0
Регистрация: 03.12.2020
Сообщений: 20
26.03.2022, 01:28  [ТС]
Появился с вот таким содержимым

Code
1
2
3
4
[.ShellClassInfo]
IconResource=C:\WINDOWS\system32\imageres.dll,18
IconResource=C:\WINDOWS\system32\imageres.dll,18
IconResource=C:\WINDOWS\system32\imageres.dll,18
При каждом новом запуске батника, не важно от админа или нет, снизу появляется еще одна строчка.
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,767
26.03.2022, 02:10
Так см.:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
@pushd %~dp0
@set f=desktop.ini
@for /f "delims= eol=" %%d in ('dir/ad/b/s *[Video]*') do @(
  pushd "%%d"
  attrib +r "%%d"
  if exist %f% attrib -h -s %f%
  echo [.ShellClassInfo]>%f%
  echo IconResource=%Windir%\system32\imageres.dll,18>>%f%
  attrib -a +h +s %f%
  popd
)
1
1 / 1 / 0
Регистрация: 03.12.2020
Сообщений: 20
30.03.2022, 16:21  [ТС]
Со словом Video вроде заработало. Но если я меняю его на что-то другое, пишет "файл не найден". Поиск только на буквы работает?
0
 Аватар для b0gus
741 / 339 / 134
Регистрация: 17.03.2014
Сообщений: 842
31.03.2022, 21:58
Цитата Сообщение от K14M Посмотреть сообщение
меняю его на что-то другое
кириллицей?

Не по теме:

зы. ещё один Павка Корчагин (

0
1 / 1 / 0
Регистрация: 03.12.2020
Сообщений: 20
31.03.2022, 23:07  [ТС]
Цитата Сообщение от b0gus Посмотреть сообщение
кириллицей?
Юникодом

Добавлено через 2 минуты
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
@pushd %~dp0
@set f=desktop.ini
@for /f "delims= eol=" %%d in ('dir/ad/b/s *[✓]*') do @(
  pushd "%%d"
  attrib +r "%%d"
  if exist %f% attrib -h -s %f%
  echo [.ShellClassInfo]>%f%
  echo IconResource=%Windir%\system32\imageres.dll,18>>%f%
  attrib -a +h +s %f%
  popd
)
pause
0
 Аватар для b0gus
741 / 339 / 134
Регистрация: 17.03.2014
Сообщений: 842
31.03.2022, 23:34
Цитата Сообщение от K14M Посмотреть сообщение
Юникодом
пробуем добавить после 1-й строки
Windows Batch file
2
@chcp 65001
1
1 / 1 / 0
Регистрация: 03.12.2020
Сообщений: 20
31.03.2022, 23:40  [ТС]
Работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.03.2022, 23:40
Помогаю со студенческими работами здесь

Поиск по ключевым словом
Плиз помогите я делаю справочник по С++ все сделал, но вот проблема с поиском код есть и выводит он только ключвое слово которое указано в...

Цезарь с ключевым словом
Всем привет. Может у кого есть реализация в Delphi это алгоритма или кто может написать за плату?

Шифрование с ключевым словом
Привет. Мне нужно реализовать программу для шифрования методом шифрующих таблиц. В данный момент у меня есть массив размером 4x8, в...

Торможу с ключевым словом this
Здравствуйте, подскажите как понять это слово, когда его используют. Должны же быть аналогии для лучшего понимания (для таких как я). ...

Паскаль. Здание с ключевым словом
В библиотеке имеется список книг. Каждая запись этого списка содержит фамилии авторов, название книги, год издания. Определить, имеются ли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru