Alguma ajuda do CMD necessária

0

Eu quero "ler" uma pasta inteira, armazenar todos os nomes de arquivos e fazer um separado .AVS para cada arquivo usando apenas cmd.

LE: Isso parece funcionar (thnx grawity):

@echo off
COLOR 0c
cd > "dir.txt"
set /p mypath=<"dir.txt"
set mpath=@Temp
del "%mypath%\dir.txt"
cls
for %%i in (%mypath%\*.mkv) do call :genavs "%%~i"
goto :eof

:genavs
set movie=%~1
echo B=FFAudioSource("%movie%") >> "%movie%.avs"
echo A=FFVideoSource("%movie%").assumefps(24000,1001) >> "%movie%.avs"
echo AudioDub(A, B) >> "%movie%.avs"
echo ConvertAudioTo16bit() >> "%movie%.avs"
echo ConvertToRGB32() >> "%movie%.avs"
goto :eof
    
por juGGaKNot 12.10.2013 / 20:19

1 resposta

2

Use for e sub-rotinas:

for %%i in (%mypath%\*.mkv) do call :genavs "%%~i"
goto :eof

:genavs
set movie=%~1
set moviedir=%~dp1
(
    echo loadplugin("%moviedir%\bin\FFMS2.dll")
    echo B=FFAudioSource("%movie%")
    echo A=FFVideoSource("%movie%").assumefps(%myfps%)
    echo AudioDub(A, B)
    echo ConvertAudioTo16bit()
    echo ConvertToRGB32()
) >> "%movie%.avs"
goto :eof
    
por 12.10.2013 / 20:37