【问题标题】:batch file send current folder inside a quoted argument批处理文件在带引号的参数中发送当前文件夹
【发布时间】:2013-06-30 07:15:12
【问题描述】:

我有一个用于转换图像的批处理文件,参数是引号,参数内的引号字符串被转义。但是,我想发送当前路径 %CD %also 作为参数...但是执行这个:

"C:\Program Files\GIMP 2\bin\gimp-2.8.exe"  -i -b "(python-fu-watermark-folder RUN-INTERACTIVE \"%CD%\" \"%CD%_watermarked\" \"C:/Documents and Settings/Jan/Desktop/watermarking/customEffectsWatermark.png\")"  -b "(gimp-quit 0)"

给我一​​个回声:

C:\Documents and Settings\Jan\Desktop\watermarking\tester>"C:\Program Files\GIMP2\bin\gimp-2.8.exe"  -i -b "(python-fu-watermark-folder RUN-INTERACTIVE \"C:\Documents and Settings\Jan\Desktop\watermarking\tester\" \"C:\Documents and Settings\Jan\Desktop\watermarking\tester_watermarked\" \"C:/Documents and Settings/Jan/Desktop/watermarking/customEffectsWatermark.png\")"  -b "(gimp-quit 0)"

这很好,但是目录中的反斜杠是转义字符!所以在执行插件时,我最终得到了一个转义目录(我不想要那个):

WatermarkFolder-Warning: C:Documents and SettingsJanDesktopwatermarking ester
WatermarkFolder-Warning: C:Documents and SettingsJanDesktopwatermarking ester_watermarked
WatermarkFolder-Warning: files to be processed in total: 0

由于我无法控制路径,有没有办法逃脱转义字符? 谢谢! 矿脉

【问题讨论】:

    标签: windows batch-file active-directory escaping arguments


    【解决方案1】:

    您是否尝试过将 %CD% 值的变量进行双重转义?

    类似这样的:

    set mycd=%cd:\=\\%
    

    在你使用 %cd% 的地方使用 %mycd%

    【讨论】:

    • 在输入问题时我在想这个,但我不习惯使用批处理文件,并且很高兴在 set 变量的“=”之前和之后输入空格。啊啊啊所以,非常感谢你告诉我,如果我想让它工作,就不允许有空格:) 它有效!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-17
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    相关资源
    最近更新 更多