BATch forfiles,带引号的命令

Sca*_*yze 5 string for-loop batch-file

因此,我尝试使用名为 ImageResizer 的程序和命令 一次重新缩放一堆图像forfiles

但由于我必须对命令本身及其内部的参数使用引号,因此这是行不通的:

ERROR: Argument/Option invalid- '4x /save @FILE'.
Run Code Online (Sandbox Code Playgroud)

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

这是我的代码:

@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
Run Code Online (Sandbox Code Playgroud)

npo*_*aka 3

这是 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
Run Code Online (Sandbox Code Playgroud)

或者

@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
Run Code Online (Sandbox Code Playgroud)

(后面有额外的空格imageres.exe