我正在使用可以通过命令行运行的Irfanview。 我的问题如下:
我的批处理文件:
i_view 32.exe /filelist=c:\test\*.pcx /crop=(1,2,3,4,5) /convert=c:\temp\*.pcx
其中1是x轴值,2是y轴值,3是宽度,4是高度,5是原点。
我需要批量裁剪200多个图像,但我的批处理文件会将所有图像裁剪为(1,2,3,4,5)规格,而我需要根据正在处理的图像来更改值。 换句话说,第一个被裁剪的图像将是3×4像素裁剪1个像素右边和2个像素距离原点选项5,但我需要文件夹中的下一个文件为crop命令的所有五个变量赋予不同的值最好是通过csv表或其他东西。 有谁知道这是否可行?
Ps- irfanview已关闭其注册新帐户的论坛
答案 0 :(得分:1)
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
SET "destdir=U:\destdir"
SET "filename1=%sourcedir%\q35953462.txt"
FOR /f "usebackqtokens=1-6delims=," %%a IN ("%filename1%") DO (
ECHO(i_view32 %%a /crop=(%%b,%%c,%%d,%%e,%%f^) /convert=%destdir%\%%~na.pcx
)
GOTO :EOF
您需要更改sourcedir
和destdir
的设置以适合您的具体情况。
我使用了一个名为q35953462.txt
的文件,其中包含一些虚拟数据供我测试。
file1.pcx,1,2,3,4,5
file2.pcx,5,4,3,2,1
file3.pcx,2,4,6,8,10
建议的i_view32
命令仅仅echo
显示在屏幕上。要激活以下验证,请将echo(i_view32
更改为i_view32
使用该文件
使用,
作为分隔符读取每一行和标记。共有6个令牌,提名为%%a
且明确%%b
.. %%f
我不知道单个文件的irfanview
语法,所以我会抛光给你。
请注意)
需要转发^)
,因为它位于代码块中。