
프롬프트에서 다음 명령을 사용하여 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% 변수에 있는지 확인하세요....