Actuellement, j'essaie d'écrire un fichier de commandes qui convertit de manière récursive tous les fichiers .wav de mon dossier en fichiers .ogg et les place dans un dossier situé sur un autre disque à l'aide des commandes en ligne de commande de vlc. Jusqu'à présent, le script fonctionne comme prévu, à l'exception d'un petit problème, vlc: // quit ne fonctionne pas, point à la ligne.
@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
Ce qui se passe est ceci;
J'exécute le fichier de commandes, il ne publie que ce qui est défini comme "echo" (c'est-à-dire que -vv ne montre rien), le fichier .wav est converti en un fichier .ogg et placé dans la nouvelle destination.
À ce stade, si je vais dans le Gestionnaire des tâches et que je termine le processus de vlc.exe, il passera ensuite au fichier suivant, mais avec plus de 5 000 fichiers à convertir ... j’ai fait de cela un début & amp; oublier.
J'ai cherché partout en essayant de trouver une réponse à cette question en vain. J'ai essayé le --ignore-config, qui n'a pas fonctionné. J'ai même essayé d'ajouter une commande taskkill séparée après l'appel, ce qui ne fonctionnait pas non plus (même avec / t et / f). Toute aide ou idée que vous pouvez tous nous expliquer quant aux raisons pour lesquelles vlc: // stit ne fonctionne pas, ou à la façon de le réparer, sera très appréciée.
vlc://quit
peut provoquer un comportement amusant dans les fichiers de commandes. Essayez d'utiliser à la place l'option de vlc --play-and-exit
.