做一些命令取决于图片的宽度和高度

下面的代码将提取根目录中图片的宽度和高度。

@ECHO OFF &SETLOCAL (for /r %%a in (*.jpg) do ( for /f "tokens=1*delims=:" %%b in ('"MEDIAINFO --INFORM=Image;%%Width%%:%%Height%% "%%~a""') do ( echo(%%b %%~c) )) pause 

MediaInfo CLI版本

%% b和%%〜c将存储宽度和高度,你可以在代码中看到没有%%〜cvariables,但它仍然在工作。 我想要执行下面的命令:

 after getting width and height with above code if width>height w=width-100 resize picture /width=w else h=height-100 resize picture /height=h 

我将使用cmd实用工具resize,但问题是将%% b和%%〜c分配给两个variables并将它们与eachother进行比较。

尝试这个:

 @ECHO OFF SETLOCAL enabledelayedexpansion set "MI=U:\scripts\utilities\Mediainfo\Mediainfo.exe" for /r %%a in (*.jpg) do ( for /f "tokens=1,2 delims=:" %%b in ('"%MI% --INFORM=Image;%%Width%%:%%Height%% "%%~a""') do ( echo(%%b %%c if %%b GTR %%c ( set /aw=%%b-100 Echo resize picture /width=!w! ) ELSE ( set /ah=%%c-100 Echo resize picture /height=!h! ) ) ) pause