Я хочу "прочитать" всю папку, сохранить все имена файлов и сделать отдельную.AVS для каждого файла, используя только cmd.

LE: Кажется, это работает (спасибо 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

1 ответ1

2

Используйте for и подпрограммы:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .