Script-Fu从Windows命令行错误解释文件名

时间:2019-01-07 16:58:23

标签: command-prompt gimp script-fu

我正在尝试打开两个图像,并使用script-fu将一个图像粘贴在另一个图像的顶部,作为它自己的图层。然后,我需要从命令行(windows)调用此脚本,并传入两个文件名。

这是我的.scm代码:

(define (open-as-layer file1 file2)
    (let* (
            ; first main image
            (image (car (gimp-file-load RUN-NONINTERACTIVE file1 file1)))
            ; them layer
            (draw1 (car (gimp-image-get-active-drawable image)))
            ; open image as layer
            (draw2 (car (gimp-file-load-layer RUN-NONINTERACTIVE image file2)))
        )

    ; add layer to image
    (gimp-image-insert-layer image draw2 0 0)

    )
)

当我使用此命令时:

gimp-2.10 -d -b '(open-as-layer "C:\Users\me\Desktop\testoriginal.pgm" "C:\Users\me\Desktop\testfinished.pgm")'

Gimp打开并加载了第一个图像,但是在加载第二个图像时会产生此错误:

Opening 'C:\Users\me\Desktop\testfinished.pgm)'' failed: Error opening file C:\Users\me\Desktop\testfinished.pgm)': No such file or directory

该错误表明它认为文件名是C:\Users\me\Desktop\testfinished.pgm)',请注意其中包含)'。因此,我尝试在命令的完整文件名之后添加一个空格:

gimp-2.10 -d -b '(open-as-layer "C:\Users\me\Desktop\testoriginal.pgm" "C:\Users\me\Desktop\testfinished.pgm" )'

现在gimp将两个图像加载到单独的选项卡中,但是尝试加载第三个图像,并因以下错误而失败:

Opening 'C:\Program Files\GIMP 2\bin\)'' failed: Error opening file C:\Program Files\GIMP 2\bin\)': No such file or directory

同样,它尝试加载图像(空字符串?),但包含了)'

我需要做的就是让它识别双引号内的字符串。

0 个答案:

没有答案