我想将SVGO Node.js库集成到Windows .svg
上下文菜单中。
对于如何实现这一目标,我有一个相当具体的想法,但是对于如何执行此工作,批处理程序知识不足。
该命令应使用SVGO仅处理所选的SVG文件,并(理想情况下)将它们输出到同一目录中,但扩展名为*.min.svg
。
它应该优雅地处理带或不带空格的文件名和路径。
我已经有一个非常基本的实现,基本上就是这个批处理文件:
@echo off
svgo %1
问题在于,如果选择了多个文件,它将仅打开多个命令行窗口。它还不进行任何重命名。
在伪代码中,理想的解决方案可能看起来像这样:
set input, output = "";
for file in %*
{
input = input + " " + file; // build up a straight string list of the filenames
output = output + " -o " + file + ".min.svg"; // `-o` needs to be before each output filename
}
svgo input output