Как мне создать командный файл, который перебирает файлы в папке и запускает для них еще один.bat?

У меня есть папка с файлами.avi, и я хочу использовать ffmpeg для их преобразования в файлы.mp4. Я следовал онлайн-учебнику, чтобы создать командный файл, который делает именно это, вот код:

"C:\ffmpeg\ffmpeg.exe" -y -i %1 -sameq -ar 22050 -vcodec libx264 "C:\videos\Series 1\S01E01.mp4"

Это прекрасно работает, если я просто перетащил файлы.avi в файл createmp4.bat, содержащий приведенный выше код. Однако я хочу быть немного умнее в этом и использовать другой пакетный файл, который будет перебирать AVI-файлы в папке и запускать createmp4.bat для всех из них и копировать их в каталог C:\videos\Series 1\,

Я также хотел бы изменить имя файлов, если это возможно, на S01E01.mp4, S01E02.mp4 и так далее, если это возможно.

Любая помощь по этому вопросу будет принята с благодарностью. Да, и на тот случай, если вы не догадались, я совершенно не знаю, как писать пакетные файлы!!

Спасибо

1 ответ

Решение

Попробуйте это (пример):

@echo off & setlocal
pushd "X:\My AVI folder"
for %%i in (*.avi) do "C:\ffmpeg\ffmpeg.exe" -y -i "%%~fi" -sameq -ar 22050 -vcodec libx264 "C:\videos\Series 1\%%~ni.mp4"
popd
Другие вопросы по тегам