我有一个基于GIMP批处理教程的脚本:
(define (batch-colorize pattern
hue
saturation
lightness)
(let* ((filelist (cadr (file-glob pattern 1))))
(while (not (null? filelist))
(let* ((filename (car filelist))
(image (car (gimp-file-load RUN-NONINTERACTIVE
filename filename)))
(drawable (car (gimp-image-get-active-layer image))))
(gimp-colorize drawable
hue saturation lightness)
(gimp-file-save RUN-NONINTERACTIVE
image drawable filename filename)
(gimp-image-delete image))
(set! filelist (cdr filelist)))))
因此,现在在带有cmd图像的文件夹中运行:
SET gimpEXE =“ C:\ Program Files \ GIMP 2 \ bin \ gimp-2.8.exe”
%gimpEXE%-i -b“(批量着色* .png 90 73 15)” -b“(gimp-quit 0)”;
但是,GIMP说:
批处理命令遇到执行错误:
错误:(:1)eval:未绑定变量:* .png
因此,我尝试了:
%gimpEXE%-i -b“(批量着色”“ * .png”“ 90 73 15)” -b“(gimp-quit 0)”;
但是,GIMP说:
GIMP错误:无法打开文件C:\ myfolder \ with \ png \ 90:没有这样的文件或目录
GIMP错误:无法打开文件C:\ myfolder \ with \ png \ 73:没有这样的文件或目录
GIMP错误:无法打开文件C:\ myfolder \ with \ png \ 15:没有这样的文件或目录
GIMP错误:无法打开文件C:\ myfolder \ with \ png \ 0:没有这样的文件或目录
因此,然后我尝试了原始示例中的内容(我认为是针对Linux的女巫):
%gimpEXE%-i -b'(批量着色“ * .png” 90 73 15)'-b'(gimp-quit 0)'
但随后GIMP表示以上所有内容:
GIMP错误:无法打开文件“ C:\ myfolder \ with \ png * .png”:无法打开“ C:\ myfolder \ with \ png * .png”来读取:无效的参数
您假设操作系统将为您扩展* .png,但是由于它被埋在命令行参数的带引号的字符串内,因此扩展不会发生。这应该可以解决此问题:
SET gimpEXE="C:\Program Files\GIMP 2\bin\gimp-2.8.exe"
for %%i in (*.png) do %gimpEXE% -i -b "(batch-colorize %%i 90 73 15)" -b "(gimp-quit 0)"
请注意,%%i
仅当批处理文件中包含时才需要。如果直接在提示符下运行命令,%i
则必须输入。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句