В настоящее время я пытаюсь написать командный файл, который рекурсивно преобразует все файлы .wav в моей папке в файлы .ogg и помещает их в папку на другом диске с помощью команд командной строки vlc. Пока что скрипт работает так, как задумано, за исключением одной небольшой проблемы: vlc://quit не работает, точка.
@Echo Off
SETLOCAL ENABLEDELAYEDEXPANSION
for /f "tokens=*" %%f in ('dir /b /s "C:\Users\*\Music\Ultimate Game Music Collection\*.wav"') DO (
set file1=%%~nf.ogg
echo "file :" !file1!
set fic1=%%f
echo "file :" !fic1!
set destination=F:\myMusic\ogg\!file1!
echo "Destination :" "!destination!"
CALL "C:\Program Files\VideoLAN\VLC\vlc.exe" --ignore-config -I dummy --dummy-quiet -vv "!fic1!" --sout=#transcode{vcodec=none,acodec=vorb,ab=128,channels=2,samplerate=44100,scodec=none}:std{access=file{no-overwrite},mux=ogg,dst="!destination!"}" vlc://quit
)
echo .
echo conversion finished
pause
Что происходит, это;
Я запускаю командный файл, он публикует только то, что установлено как 'echo' (т.е. -vv ничего не показывает), .wav преобразуется в .ogg и помещается в новое место назначения, vlc останавливается, больше не конвертируются файлы.
На этом этапе, если я зайду в диспетчер задач и завершу процесс vlc.exe, он перейдет к следующему файлу, но для преобразования потребуется более 5000 файлов ...Я сделал это, чтобы начать и забыть.
Я искал все, пытаясь найти ответ на этот вопрос безрезультатно. Я пробовал --ignore-config, который не работал. Я даже пытался добавить отдельную команду taskkill после вызова, которая также не работала (даже с /t и /f). Будем очень благодарны за любую помощь или понимание, которое вы все можете дать относительно того, почему vlc://quit не работает, или как это исправить.