我有两个batch file,都是简单的命令。 如果我双击他们的图标,这两个工作正常。 我想合并它们。
第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部分的图标,它将起作用。 但是我想做什么,因为我们至less每天运行12次,就是让它们从一个batch file运行。
它做什么:当我合并这两个batch file时,来自GS的原始文件被正确生成。 但是后来我从imdisplay和paint中得到一条消息:“…找不到temp_label_resize.jpg”。 但就像我刚才提到的那样,如果我分别运行它们,它们就会工作
我试过了:
我的假设是,因为imagemagick文件从来没有创build有一个问题,无论是GhostScript结束或我的imagemagick代码。 但是,我的imagemagick代码正确执行。 因此,我猜测GS是不能正常退出的。 我可能错过了明显的东西,任何帮助将不胜感激。
似乎redrun.exe的PATH环境变量与启动命令提示符时不同。 我建议你完整地指定每个命令的路径,类似于你为gswin64c.exe所做的,例如
"c:\program files\gs\gs9.14\bin\gswin64c.exe" .... "c:\program files\ImageMagick\bin\convert.exe" ....
etc..etc ..
这样,您可以100%确定您正在运行正确的可执行文件。