1

これは私の以前の質問Renaming my video files as per the resoltu using batch に関連しています

最終的なスクリプトは次のとおりです。

@echo off & setlocal
cd X:\video\path
for /f "delims=" %%i in ('dir /b /a-d *.mp4') do (
    set "fnameo=%%~ni"
    set "fnamee=%%~xi"
    set "Height="
    for /f "delims=" %%j in ('mediainfo "--Inform=Video;%%Height%%" "%%~i"') do set "Height=%%j" 
    setlocal enabledelayedexpansion
    call set "selftest=%%fnameo:[H.264 !Height!p]=%%"
    if "!selftest!" equ "!fnameo!" if not exist "!fnameo! [H.264 !Height!p]!fnamee!" (
        rename "!fnameo!!fnamee!" "!fnameo! [H.264 !Height!p]!fnamee!"
    )
    endlocal
)

上記のスクリプトは mp4 ファイルにのみ使用できますが、私の 480p ビデオのほとんどは flv 形式です。同じスクリプトを flv ファイルに拡張する方法はありますか。ワイルドカードについては知っていますが、使用できません。「star.*」を使用すると、*.bat ファイルの名前も evreytime に変更され、「?」を使用できない可能性があります。

4

1 に答える 1

4

for ループ コマンドにさらに拡張機能を追加できます。例:

for /f "delims=" %%i in ('dir /b /a-d *.mp4 *.flv *.mkv') do (
于 2013-06-23T11:09:18.437 に答える