ffmpeg expansión local y ejecutar un comando dentro de

0

Pregunta de n00b a lo grande. Simplemente no puedo entender qué estoy haciendo mal. Aquí está mi archivo .bat:

@ECHO OFF

SETLOCAL

set /p Input= Drop file here, and click enter.

set file=%Input%
FOR %%i IN (%file%) DO (
ECHO filedrive=%%~di
ECHO filepath=%%~pi
ECHO filename=%%~ni
ECHO fileextension=%%~xi
ECHO %filename%

)

ffmpeg -i %Input% -an -c:v libx264 -preset medium -crf 22 "%%~di%%~pi%%~ni.mp4"

pause

Cuando ejecuto esto, no reconoce ffmpeg como un comando. Esto debe ser simple ... ¿Qué diablos estoy haciendo mal?

M Leonard
fuente
Compruebe si ffmpeg está en su ruta o en la PWD del archivo por lotes.
Gyan
AH ok. Ese fue esencialmente el problema. ¿Por qué no ve que FFMPEG está en mi directorio de usuarios? De todos modos, una vez que especifiqué dónde estaba FFMPEG a través de una variable o lo moví al lado del archivo por lotes, funcionó.
M Leonard
Como encontró una solución, puede responder a su propia pregunta.
llogan

Respuestas:

0

Era tan simple como esto:

@ECHO OFF

SETLOCAL

set /p Input= Drop file here, and click enter.
set ffmpeg=C:\Windows\User\ffmpeg.exe

set file=%Input%
FOR %%i IN (%file%) DO (
ECHO filedrive=%%~di
ECHO filepath=%%~pi
ECHO filename=%%~ni
ECHO fileextension=%%~xi
ECHO %filename%

)

%ffmpeg% -i %Input% -an -c:v libx264 -preset medium -crf 22 "%%~di%%~pi%%~ni.mp4"

pause
M Leonard
fuente