2 votes

Appliquer MediaInfo en lot pour plusieurs fichiers

Je utilise fréquemment la commande suivante :

MediaInfo.exe "--Output=Text;%ID%: %Format%$if(%Language/String%, SUBTiTLE: .............. %Language/String%)\r\n" Fichier.mkv

Cela affichera les flux de sous-titres d'une vidéo vile dans le format :

5: UTF-8
6: VobSub SUBTiTLE: .............. Français
7: VobSub SUBTiTLE: .............. Anglais
8: VobSub SUBTiTLE: .............. Français

Source: Obtenir la liste des sous-titres en utilisant mediainfo sous Windows

Cependant, j'aimerais exécuter la même commande pour tous les fichiers d'un dossier.

J'ai essayé

for %%a in (%*) do  (
MediaInfo.exe "--Output=Text;%ID%: %Format%$if(%Language/String%, SUBTiTLE: .............. %Language/String%)\r\n"
)

mais cela ne semble pas fonctionner et je ne suis pas sûr pourquoi.

0voto

Jérôme Martinez Points 341

Dans votre code de test, je ne vois pas "%%a" (le nom de fichier à utiliser) dans l'appel MediaInfo et je ne vois pas non plus que "%" est échappé ("%%") dans les paramètres MediaInfo (sans échappement de pourcentage, MediaInfo reçoit des chaînes vides en raison de "%" converties par le processeur de lot).

J'ai réussi à faire ce que vous essayez de faire avec:

>dir test
06/09/2017 14:02 2 869 248 MOV001 - Copy.MOD
06/09/2017 14:02 2 869 248 MOV001.MOD

>more a.bat
@echo off
for %%f in (%*) do (
MediaInfo.exe "--Output=General;%%FileName%%, %%Format%%" "%%f"
)

>MediaInfo.exe "--Output=General;%FileName%, %Format%\r\n" test\*
MOV001 - Copy, MPEG-PS
MOV001, MPEG-PS

a.bat test\*.*
MOV001 - Copy, MPEG-PS
MOV001, MPEG-PS

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X