Как пройти ошибку в bat файле при присвоении имени файлам?

Пытаюсь обработать из папки все видеофайлы с помощью батника и команд в этом батнике для ffmpeg.

При запуске батника выдаёт ошибку :

Invalid segment filename template 'part-^C:\Users\username\Downloads\ffmpeg-2022-05-08-git-f77ac5131c-full_build\bin\test3.bat3d.mp4'
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:0 --


Как я понял из ошибки, что батник не может корректно присвоить имя каждому файлу на выходе. Возможно я ошибаюсь, поправьте знатоки.

Код батника:
@echo off
for %%i in (*.mov) do (
  ffmpeg -i "%%i" -vf scale=ih*9/16:ih,scale=iw:-2,setsar=1,scale=-2:1080,format=yuv420p -c:v libx264 -profile:v main -level:v 3.0 -x264-params scenecut=0:open_gop=0:min-keyint=72:keyint=72 -c:a aac -preset slow -crf 23 -r 30 -sn -f segment -segment_time 59 -y "part-^%03d.mp4"

)
pause


Ошибка:
627d24beb5f9f325609303.jpeg
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
@res2001
Developer, ex-admin
У вас там ожидалось только имя файла, а вставляется полный путь к файлу, поэтому и ошибка.
Вот это место в команде "part-^%03d.mp4".
Замените на "%%~ni.mp4"
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@MaxKozlov
Вы не сформулировали что именно вы хотите видеть в качестве выходного имени

Если только part-001, part-002 и т.д., то, как и писал res2001, используйте "part-%%03d.mp4"
Если часть исходного имени с добавкой части в конце, то можно типа "%%~ni-%%03d.mp4"

А вообще, при отладке убирайте @echo off - будете видеть запускаемую команду со всеми подстановками
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы