Как выполнить команду запуска во всех подкаталогах в командном файле?
Вы можете использовать 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).
Дальнейшее чтение