Как выполнить команду запуска во всех подкаталогах в командном файле?
Вы можете использовать for /r для этого.
Используйте следующий пакетный файл:
for /r "starting_directory" %%a in (.) do (
pushd %%a
if exist icon.ico (
attrib -s -h -r desktop.ini
echo f | xcopy /h /y "%~dp0desktop.ini.txt" desktop.ini
attrib +s +h +a desktop.ini
)
popd
)
for /r - перебирать файлы (подпапки Recurse)
Синтаксис
FOR /R [[drive:]path] %%parameter IN (set) DO command
ключ
drive:path : дерево папок, в котором находятся файлы.
set : набор из одного или нескольких файлов. Подстановочные знаки должны быть использованы.
Если (установлено) является символом точки (.), То FOR будет перебирать каждую папку.
command : команда (ы) для выполнения, включая любые параметры командной строки.
%% параметр`: заменяемый параметр: в пакетном файле используйте %% G (в командной строке% G)
Источник для /r - циклический просмотр файлов (подпапки Recurse).
Дальнейшее чтение