1

这与我之前的问题Renaming my video files as per the resoltuion 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 回答