Применить пакет MediaInfo для нескольких файлов

573
Arete

Я часто использую следующую команду:

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

Это выведет потоки субтитров из видео в формате:

5: UTF-8 6: VobSub SUBTiTLE: .............. French 7: VobSub SUBTiTLE: .............. English 8: VobSub SUBTiTLE: .............. French 

Источник: Получить список субтитров, используя mediainfo в Windows

Однако я хотел бы запустить одну и ту же команду для всех файлов в папке.

я пытался

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

но это не похоже на работу, и я не уверен, почему.

1

1 ответ на вопрос

0
Jérôme Martinez

В вашем тестовом коде я не вижу "%% a" (имя файла для использования) в вызове MediaInfo, а также не вижу экранированного "%" ("%%") в параметрах MediaInfo (без экранирования в процентах), MediaInfo получает пустые строки из-за "%", преобразованного пакетным процессором).

Я успешно сделал то, что вы пытаетесь сделать с:

>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 
Спасибо, но этот командный файл ничего не запускается на моем компьютере ... Arete 6 лет назад 0

Похожие вопросы