Чи можливо використовувати підстановку з CALL в CMD?


3

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


1
Ви можете використовувати команду FOR або команду FORFILES, щоб знайти всі файли в папці і зробити щось з ними, наприклад, запустити їх. Зараз у мене немає часу написати вам належну відповідь, але Google допоможе вам будь-якими командами, і SuperUser також має достатньо для цього. ForFiles можуть працювати з масками та знаходити файли на основі дати їх створення, тоді як для файлів простіше зробити щось із файлами.
LPChip

Відповіді:


4

Використовуйте команду 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, як сортування.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.