배치 파일에서 ffmpeg를 호출할 수 없습니다.

배치 파일에서 ffmpeg를 호출할 수 없습니다.

프롬프트에서 다음 명령을 사용하여 ffmpeg로 많은 비디오 파일을 다시 인코딩합니다.

for %F in ("..\*.*") DO ffmpeg -n -i "%F" -c:v libx265 -c:a copy "%~nF.mkv"

이 명령이 포함된 배치 파일을 만들어 프로필 경로에 넣었습니다. 그러나 실행하면 다음과 같은 결과가 나타납니다.

M:\>ff.bat
The following usage of the path operator in batch-parameter
substitution is invalid: %~nF.mkv"

For valid formats type CALL /? or FOR /?
The syntax of the command is incorrect.

M:\>for F" -c:v libx265 -crf 28 -c:a copy "F" -c:v libx265 -crf 28 -c:a copy "%~nF.mkv"

따옴표에 문제가 있는 걸까요?

답변1

따옴표에 문제가 있는 걸까요?

아니요. 에 문제가 있습니다 %. 명령줄에서 단일 %. 배치 파일에서는 두 배로 늘립니다 %%.

따라서 다음을 사용하십시오.

for %%F in ("..\*.*") DO ffmpeg -n -i "%%F" -c:v libx265 -c:a copy "%%~nF.mkv"

FOR배치 프로그램이 아닌 명령줄에서 명령을 사용하는 경우 %G대신 퍼센트 기호를 하나만 사용하십시오 %%G.

원천:For - 반복 명령 - Windows CMD - SS64.com


추가 자료

답변2

정확하게는 단일 백분율 대신 이중 백분율 기호를 사용해야 합니다. 또한 ffmpeg paht가 ffmpeg 프로그램의 전체 경로를 지정해야 하는 %path% 변수에 있는지 확인하세요....

관련 정보