【问题标题】:BATch forfiles, command with quotationBATch forfiles,带引号的命令
【发布时间】:2015-09-23 14:29:20
【问题描述】:

所以,我正在尝试使用名为 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

【问题讨论】:

    标签: string batch-file for-loop


    【解决方案1】:

    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 后面的空格)

    【讨论】:

      【解决方案2】:

      FORFILES 将 \" 识别为转义 inner " 的方式。所以试试这个:

      forfiles /s /m *.png /c "C:\Users\Manu\Desktop\NeuerOrdner\ImageRes.exe /load @FILE /resize auto \"XBR 4x\" /save @FILE"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-26
        • 2014-01-21
        • 1970-01-01
        相关资源
        最近更新 更多