1

バットファイルで Mediainfo を使用したい。メディア情報をテキストファイルに書き込み、ファイルの名前を *.nfo に変更する必要があります。これは非常にうまく機能しますが、必要なカスタムのメディア情報ではなく、常に完全な「標準」のメディア情報を取得します。これまでの私のコードは次のとおりです。

@echo off

set "mediainfo_path=C:\Program Files\mi cli\MediaInfo.exe"
set "output_extension=C:\Program Files\mi cli\custom.txt"
cd %1
echo.
echo Looking for Media Assets on target directory . . .
REM  ******** Add media file extensions here ********
dir *.mkv /b /s > filelist.tmp
REM  *
REM  ******* Loop through temporary file list *******
(for /f "delims=" %%i in (filelist.tmp) do (
echo Extracting %%i metadata information . . .
setlocal enabledelayedexpansion
"!mediainfo_path!" --logfile="!output_extension" "%%i" > %%i.nfo

echo()
endlocal
)
del filelist.tmp

echo.

どの「output_extenstion」を選択しても、結果は常に同じ完全なログになります。

4

1 に答える 1

1

まず、段階的に実行する必要があるため、バッチ処理を行わずに MediaInfo コマンドを試すことから始めます。うまくいかないことがわかります。"--logfile" は出力を保存するためのもの (">%%i.nfo" と同様) であるため、カスタム レポートが必要であることを MediaInfo に伝えていません。

mediainfo --Output=file://custom.txt a.mkv >a.nfo

また

mediainfo --Output=file://custom.txt a.mkv --LogFile=a.nfo

期待どおりに動作します (最初のバージョンでは情報の表示と保存の両方が行われ、2 番目のバージョンでは情報のみが保存されます)。

したがって、「MediaInfo行」を次のように置き換えます。

"!mediainfo_path!" "--Output=file://!output_extension!" "%%i" > %%i.nfo

期待どおりに動作します。

注:時間がないため、ドキュメントが不足していることは承知しています:(。

MediaInfo の開発者、ジェローム

于 2016-11-16T17:33:54.980 に答える