调整缩小图像的大小,仅在今天修改过
Resize down-scale images only modified today
我正在尝试使用名为 mogrify
.
的 ImageMagik 工具让以下命令在 Server 2003 上运行
for %G in (.jpg, .png, .gif) do forfiles /p "C:\Images" /s /m *%G -d 0 -c "cmd /c C:\ImageMagick\mogrify.exe -resize 800x800^> -quality 80 -strip @path"
但是当 mogrify 工具针对找到的路径运行时,它会出错,提示调整大小参数无效。
mogrify.exe: InvalidArgument `80Ã╬0>': -resize @error/mogrify.c/MogrifyImageCommand/5754.
我认为问题与值有关并且它包含 ^>
。
需要 >
符号来告诉工具仅缩小宽度或高度,我认为需要 ^
作为转义字符。
该命令独立运行并且图像大小已调整:
mogrify.exe -resize 800x800^> -quality 80 -strip "image1.jpg"
如果我删除调整大小参数,该命令也有效,但当然图像不会调整大小:
for %G in (.jpg, .png, .gif) do 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>
的调整大小值添加到以下命令?
for %G in (.jpg, .png, .gif) do forfiles /p "C:\Images" /s /m *%G -d 0 -c "cmd /c C:\ImageMagick\mogrify.exe -resize 800x800^> -quality 80 -strip @path"
实际上,我认为问题在于 0x80 正在从十六进制转换为 ASCII。来自 forfiles /?
帮助消息:
To include special characters in the command line, use the hexadecimal code for the character in 0xHH format (ex. 0x09 for tab). Internal CMD.exe commands should be preceded with "cmd /c".
尝试将 -resize 800X800^>
中的 X 大写。
我正在尝试使用名为 mogrify
.
for %G in (.jpg, .png, .gif) do forfiles /p "C:\Images" /s /m *%G -d 0 -c "cmd /c C:\ImageMagick\mogrify.exe -resize 800x800^> -quality 80 -strip @path"
但是当 mogrify 工具针对找到的路径运行时,它会出错,提示调整大小参数无效。
mogrify.exe: InvalidArgument `80Ã╬0>': -resize @error/mogrify.c/MogrifyImageCommand/5754.
我认为问题与值有关并且它包含 ^>
。
需要 >
符号来告诉工具仅缩小宽度或高度,我认为需要 ^
作为转义字符。
该命令独立运行并且图像大小已调整:
mogrify.exe -resize 800x800^> -quality 80 -strip "image1.jpg"
如果我删除调整大小参数,该命令也有效,但当然图像不会调整大小:
for %G in (.jpg, .png, .gif) do 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>
的调整大小值添加到以下命令?
for %G in (.jpg, .png, .gif) do forfiles /p "C:\Images" /s /m *%G -d 0 -c "cmd /c C:\ImageMagick\mogrify.exe -resize 800x800^> -quality 80 -strip @path"
实际上,我认为问题在于 0x80 正在从十六进制转换为 ASCII。来自 forfiles /?
帮助消息:
To include special characters in the command line, use the hexadecimal code for the character in 0xHH format (ex. 0x09 for tab). Internal CMD.exe commands should be preceded with "cmd /c".
尝试将 -resize 800X800^>
中的 X 大写。