Problèmes Windows Batch et VLC

2

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.

Miki Fox
la source
Est-ce que vos guillemets doubles (le dernier) sont éteints @, dst = "! Destination!"} "? Est-ce un extra ou devriez-vous en avoir ajouté un plus tôt?
Aulis Ronkainen
vlc://quit peut provoquer un comportement amusant dans les fichiers de commandes. Essayez d'utiliser à la place l'option de vlc --play-and-exit .
harrymc
@ charrymc, votre suggestion a fonctionné. Si vous l'ajoutez comme réponse, je le sélectionnerai
Miki Fox
Fait comme demandé.
harrymc

Réponses:

0

vlc://quit n'est pas fiable dans l'environnement batch et peut provoquer un comportement amusant dans cet environnement.

Utilisez plutôt l'option de:

vlc --play-and-exit
harrymc
la source