BATch forfiles,带引号的命令

时间:2015-09-23 14:29:21

标签: string batch-file for-loop

所以,我正在尝试使用名为ImageResizer的程序和命令forfiles一次重新缩放一堆图像。

但是因为我必须为两者使用引号,所以命令本身和它内部的参数都不起作用:

ERROR: Argument/Option invalid- '4x /save @FILE'.

如何批量处理这两个字符串?我发现了一些类似的问题,但我没有让它发挥作用。

这是我的代码:

@echo off
cd %~dp0
cd gfx
forfiles /s /m *.png /c "C:\Users\Manu\Desktop\NeuerOrdner\ImageRes.exe /load @FILE /resize auto "XBR 4x" /save @FILE"
pause

1 个答案:

答案 0 :(得分:2)

this is a bug in forfiles。您需要使用0x22

对引号进行编码 你可以这样试试:

@echo off
setlocal
set "path=%path%;C:\Users\Manu\Desktop\NeuerOrdner\" 
cd %~dp0
cd gfx
forfiles /s /m *.png /c "ImageRes.exe ImageRes.exe /load @FILE /resize auto 0x22XBR 4x0x22 /save @FILE"
endlocal
pause

@echo off
cd %~dp0
cd gfx
forfiles /s /m *.png /c "C:\Users\Manu\Desktop\NeuerOrdner\ImageRes.exe  /load @FILE /resize auto 0x22XBR 4x0x22 /save @FILE"
pause

imageres.exe之后的额外空格)