Самым простым способом, на мой взгляд, является использование цикла for, который вызывает второй пакетный файл для обработки, передавая этому второму файлу базовое имя.
В соответствии с /? справка, базовое имя может быть извлечено с помощью опции ~ nifty ~ 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
Возможно, есть лучший способ сделать это в одном скрипте, но я всегда немного сомневался в том, как использовать несколько команд в одном цикле for в командном файле.
РЕДАКТИРОВАТЬ: Это фантастика! Я как-то пропустил страницу в документах, которая показала, что вы можете делать многострочные блоки в цикле FOR. Я собираюсь пойти придется вернуться и переписать некоторые командные файлы сейчас ...