3

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

1 ответ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, такие как сортировка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .