Цикл в 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, то вы увидете результат работы программы, как на скриншоте:
