2

В настоящее время я пытаюсь написать командный файл, который рекурсивно преобразует все файлы .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 не работает, или как это исправить.

1 ответ1

0

vlc://quit ненадежен в пакетной среде и может вызвать странное поведение в этой среде.

Вместо этого используйте опцию:

vlc --play-and-exit

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