vlc://quit
não é confiável no ambiente em lote e pode causar um comportamento engraçado em
esse ambiente.
Use, em vez disso, a opção de:
vlc --play-and-exit
Atualmente, estou tentando gravar um arquivo em lote que recursivamente converte todos os arquivos .wav da minha pasta em arquivos .ogg e os coloca em uma pasta em um disco diferente usando os comandos da linha de comando do vlc. Até agora, o script funciona conforme o esperado, exceto por um pequeno problema, vlc: // quit não está funcionando, ponto final.
@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
O que está ocorrendo é isso;
Eu executo o arquivo em lote, ele envia apenas o que está definido como 'echo' (ou seja, -vv não está mostrando nada), .wav é convertido em .ogg e colocado no novo destino, vlc pára, não há mais arquivos convertido.
Neste ponto, se eu entrar no Gerenciador de Tarefas e encerrar o processo do vlc.exe, ele passará para o próximo arquivo, mas com mais de 5000 arquivos para converter ... Eu fiz isso para ser um começo & esqueça.
Eu procurei por toda parte tentando encontrar uma resposta para isso sem sucesso. Eu tentei o --ignore-config, que não funcionou. Eu até tentei adicionar um comando taskkill separado após a chamada, o que também não funcionou (mesmo com / t e / f). Qualquer ajuda ou insight que todos possam fornecer sobre o motivo pelo qual o vlc: // quit não está funcionando, ou como consertá-lo, será muito bem-vindo.