程序ImageMagick有一个convert
命令,可用于转换图片格式。例如,我有一张图片test.jpg
convert test.jpg test.png
将给出test.png。
我想将此命令添加到右键单击菜单以简化我的工作。我在regedit
HKEY_CLASSES_ROOT -- * -- shell
添加了一个项目
C:\Program Files\ImageMagick-7.0.3-Q16\convert.exe -density 600 "%1" %1.png
当我将此命令运行到文件test.jpg
时,它将提供test.jpg.png
。我想获取文件test.png
。我该如何修改命令行?
答案 0 :(得分:0)
我不确定shell处理程序是否直接支持这个,但我会使用具有所需功能的cmd
来处理它:
cmd /d /c "for /f "delims=" %%i in ('@echo %1') do @start "" "C:\Program Files\ImageMagick-7.0.3-Q16\convert.exe" -density 600 "%1" "%%~dpni.png""
@echo %1
回应shell提供的完整路径,使其可用于CMD作为可处理的结果。表达式是单引号,因为这是使它成为命令的原因。for /f
将结果解析为字符串列表(包含一个字符串),将每个(一个)字符串放入%i
并允许%~dpni
takes drive letter, path and name(但是%i
。@start
用于不让CMD等待程序完成。 start
之后的空引号为very required。答案 1 :(得分:0)
你的方法很好。虽然您需要稍微改变语法:
C:\Program Files\ImageMagick-7.0.3-Q16\convert.exe -density 600 "%1" %1.png
到
C:\Program Files\ImageMagick-7.0.3-Q16\convert.exe -density 600 "%1" "%~n1.png"
我希望这能解决你的问题。但是,如果不是 - 您可以制作包含此命令的批处理文件(第二个,由我修改)并将其保存在PC中的某个位置(说" C:\ MyScript.Bat" 强>)
并且,尝试将注册表中的密钥设为:
C:\MyScript.bat "%1"
并且,这是灵活的方式。 注意:批处理中的代码如下:
"C:\Program Files\ImageMagick-7.0.3-Q16\convert.exe" -density 600 "%1" "%~n1.png"
您想在右键单击上下文菜单中进行任何更改,您可以应用更改批处理文件。
希望我帮忙!