Цикл в BAT-файле

Здрaвствуйте. Есть консольное приложение, которое конвертирует файл из одного формата в другой file_1.dat -> file_1.txt

cd C:\Program Files\app\
app.exe convert -aaa -bbb -in C:\folder\file_1.dat -out C:\folder\file_1.txt -K 11111 -S 22222

Вопрос: какой нужен BAT-цикл, который найдёт все файлы в папке folder с расширением .dat и по каждому из них пройдётся этой командой? Предварительно склеивать файлы нельзя, т.к. они после этого «ломаются».

Меняются только имена входного и выходного файла. Что должно происходить в процессе работы пакетного файла:

app.exe convert -abc -asd -in C:\folder\file_1.dat -out C:\folder\file_1.txt -K 12345 -S 12345
app.exe convert -abc -asd -in C:\folder\file_2.dat -out C:\folder\file_2.txt -K 12345 -S 12345
app.exe convert -abc -asd -in C:\folder\file_3.dat -out C:\folder\file_3.txt -K 12345 -S 12345
app.exe convert -abc -asd -in C:\folder\file_4.dat -out C:\folder\file_4.txt -K 12345 -S 12345

Можете подсказать, как написать данный BAT-сценарий?


Ответы (1 шт):

Автор решения: Ищенко Иван

Создайте батник с нижеследующим содержимым в каталоге где вам нужно переименовать файлы. В вашей задаче это каталог по адресу C:\folder и все файлы будут конвертироваться, как выхотели причем не важно сколько их в этой папке.

@echo off
set app="C:\Program Files\app\app.exe"
for %%f in (*.dat) do ( 
    %app% convert -abc -asd -in "%%~f" -out "%%~nf.txt" -K 12345 -S 12345   
)

если удалить первую сточку @echo off, то вы увидете результат работы программы, как на скриншоте:


результат работы программы

→ Ссылка