У меня есть ситуация, когда я хотел бы иметь возможность запускать всего один или несколько командных файлов из другого командного файла, но CALL не будет принимать подстановочные знаки, чтобы я мог это сделать. Все вызываемые командные файлы будут иметь одинаковые имена, но сегодня я попробовал это раньше, и это не сработало. Мне просто интересно, как это сделать с помощью простых команд CMD.
1 ответ
3
Используйте команду FOR, чтобы зациклить каждый дочерний пакетный файл.
FOR %%B IN sub*.bat DO CALL %%B
Для - Перебирать файлы - Windows CMD - SS64
Условно выполнить команду на несколько файлов.
Syntax FOR %%parameter IN (set) DO command Key set : A set of one or more files, separated by any standard delimiter. Wildcards can be used. command : The command to carry out, including any command-line parameters. %%parameter : A replaceable parameter: e.g. in a batch file use %%G (on the command line %G)
...
Хотя можно использовать подстановочные знаки, альтернативный метод обработки файлов состоит в том, чтобы позволить FOR /F обрабатывать вывод команды 'DIR /b'. Это может быть полезно, когда вы хотите использовать параметры DIR, такие как сортировка.