Mogrify -resize在cmd.exe中工作,但在.bat文件中不起作用

时间:2014-02-18 10:39:14

标签: windows batch-file image-processing cmd imagemagick

如果我使用cmd.exe手动执行mogrify工作的魅力。

但是,当我从.bat文件运行它时,它会失败。我尝试了一些转换,以防万一,但没有快乐。错误代码始终为The command "mogrify" is missing or not found

我以为我找到了答案here但是当我的图像被创建并且活动目录就在我想要的地方时,我看不出这是怎么回事。

我打开了一个控制台,cd到上面创建的新目录,复制并粘贴了以下mogrify命令之一,它运行正常。

所以我认为它要么是我不知道的cmd和bat之间的差异,要么是imagemagick中的某些东西。无论哪种方式,我都是新手,所以希望有人可以帮助我。

环境变量也是正确的

代码如下:

set path=icons %date:~0% %time:~0,2%_%time:~3,2%_%time:~6,2%\
md "%path%"
cd %path%

copy %1 "ios_144x144.png"
copy %1 "android_ldpi.png"
copy %1 "android_mdpi.png"
copy %1 "android_hdpi.png"
copy %1 "android_xhdpi.png"
copy %1 "ios_57x57.png"
copy %1 "ios_72x72.png"
copy %1 "ios_114x114.png"
copy %1 "ios_144x144.png"

pause //Check here to see if dir and images created and that command line is now in %path%. In test runs all is okay as far as here

convert -resize 36x36 android_ldpi.png
mogrify -resize 48x48 android_mdpi.png
mogrify -resize 72x72 android_hdpi.png
mogrify -resize 96x96 android_xhdpi.png
mogrify -resize 114x114 ios_114x114.png
mogrify -resize 144x144 ios_144x144.png
mogrify -resize 72x72 ios_72x72.png
mogrify -resize 57x57 ios_57x57.png


echo Verzeichnis %path% fertig.

pause>nul

1 个答案:

答案 0 :(得分:4)

如果程序不在当前目录中,则在PATH环境变量指示的目录中搜索它们。

但是在您的代码中,您正在更改此变量,因此,如果它们不在您正在使用的同一目录中,则不会找到可执行文件。

将变量的名称更改为不与任何系统标准环境变量冲突。