我有两个批处理文件,都是简单的命令。如果我双击他们的图标,两者都可以正常工作我想合并它们。
第1部分如下所示:(%1是来自RedMon的传入PostScript)
"c:\program files\gs\gs9.14\bin\gswin64c.exe" -dBATCH -dNOPAUSE -dSTRICT -dSAFER -sDEVICE=jpeg -r300 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -o "c:\path\temp_label.jpg" %1
第2部分如下所示:
convert -quality 99 -density 300 -crop 1240x1760+110+100 -chop 0x200+0+900 -rotate 90 "c:\path\temp_label.jpg" "c:\path\temp_label_edit.jpg"
composite -gravity center "c:\users\mary\documents\labels\temp_label_edit.jpg" "c:\path\new_shipping_label.jpg" "c:\path\temp_label_small.jpg"
convert -quality 99 -density 300 -resize 3059 "c:\path\temp_label_small.jpg" "c:\path\temp_label_resize.jpg"
imdisplay /p "c:\path\temp_label_resize.jpg"
mspaint "c:\path\temp_label_resize.jpg"
第1部分是一个ghostscript命令,只是从传入的postscript中生成一个jpg文件。当我打印并正常工作时,RedMon(使用redrun.exe)调用它。第2部分是imagemagick,用于裁剪图像,将其添加到另一个图层,并将结果显示为文件,并将其指向另一个(真实)打印机。
当我只运行第一部分时,它会在我打印时自动为我提供文件。如果我双击第2部分的图标,它可以工作。但我想做的事情,因为我们每天至少运行12次,就是让它们从一个批处理文件中运行。
它的作用:合并两个批处理文件时,GS中的原始文件生成正确。但是后来我从imdisplay和paint中得到了一条消息:#34; ... temp_label_resize.jpg无法找到。"但就像我提到的那样,如果我单独运行它们,它们就会起作用。
我尝试过的事情:
我的假设是,由于从未创建过imagemagick文件,因此GhostScript结束或使用我的imagemagick代码时会出现问题。但是,我的imagemagick代码正确执行。因此,我的猜测是GS没有正常退出。我可能错过了一些明显的东西,任何帮助都会受到赞赏。
答案 0 :(得分:2)
似乎redrun.exe的PATH环境变量与启动命令提示符时的环境变量不同。我建议您完整地指定每个命令的路径,类似于您对gswin64c.exe所做的操作,例如。
"c:\program files\gs\gs9.14\bin\gswin64c.exe" ....
"c:\program files\ImageMagick\bin\convert.exe" ....
etc..etc ..
通过这种方式,您可以100%确定您运行的是正确的可执行文件。