Найпростіший спосіб, як я бачу, це використовувати цикл for, який викликає другий пакетний файл для обробки, передаючи другому файлу базове ім'я.
Згідно з /? довідку, базове ім'я можна витягнути за допомогою опції «nfty ~ n». Отже, базовий сценарій читав би:
for %%f in (*.in) do call process.cmd %%~nf
Тоді, в process.cmd, припустимо, що% 0 містить базову назву і діяти відповідно. Наприклад:
echo The file is %0
copy %0.in %0.out
ren %0.out monkeys_are_cool.txt
Це може бути кращим способом зробити це за одним сценарієм, але я завжди був трохи туманним, як витягнути кілька команд в одну для циклу в пакетному файлі.
EDIT: Це фантастично! Я якось пропустив сторінку в документах, які показали, що ви можете робити багаторядкові блоки в циклі FOR. Я збираюся йти назад і переписати кілька пакетних файлів зараз ...