我正在尝试使用名为mogrify
的ImageMagik工具获取以下命令以在Server 2003上运行。
对于(.jpg,.png,.gif)中的%G,执行forfiles / p“C:\ Images”/ s / m *%G -d 0 -c“cmd / c C:\ ImageMagick \ mogrify。 exe -resize 800x800 ^> -quality 80 -strip @path“
但是当mogrify工具针对找到的路径运行时,错误说调整大小arg无效。
mogrify.exe:InvalidArgument`80Ã╬0>': - resize @ error / mogrify.c / MogrifyImageCommand / 5754。
我认为问题与价值有关,而且它包含^>
。
需要>
符号来告诉工具只缩小宽度或高度,我认为需要^
作为转义字符。
该命令独立运行,图像大小调整:
mogrify.exe -resize 800x800 ^> -quality 80 -strip“image1.jpg”
如果我删除调整大小的arg但是当然图像没有调整大小,该命令也可以工作:
对于(.jpg,.png,.gif)中的%G,执行forfiles / p“C:\ Images”/ s / m *%G -d 0 -c“cmd / c C:\ ImageMagick \ mogrify。 exe -quality 80 -strip @path“
我也尝试过使用双引号包装值并多次转义^
,但似乎没有任何效果。
值得一提的是,我可以使用以下功能,但删除^
并从调整大小值中添加引号。
cmd / c C:\ ImageMagick \ mogrify.exe -resize“800x800>” -quality 80 -strip image1.JPG
总结如何正确地将800x800>
的调整大小值添加到以下命令?
对于(.jpg,.png,.gif)中的%G,执行forfiles / p“C:\ Images”/ s / m *%G -d 0 -c“cmd / c C:\ ImageMagick \ mogrify。 exe -resize 800x800 ^> -quality 80 -strip @path“
答案 0 :(得分:2)
实际上,我认为问题是0x80正在从十六进制转换为ASCII。来自forfiles /?
帮助消息:
要在命令行中包含特殊字符,请使用0xHH格式的字符的十六进制代码(例如,标签为0x09)。内部CMD.exe命令应以" cmd / c"。
开头
尝试将-resize 800X800^>
中的X大写。