Windows下Inkscape批量转SVG为DXF的批处理语法问题及纠错
Windows批量将SVG转DXF的正确批处理脚本
原脚本的错误点
- 批处理文件中循环变量必须用
%%,原脚本用%myfile(单百分号是CMD命令行直接执行时的写法) - 用了Linux Shell的
$()语法,Windows批处理不支持 %myfile.svg会导致文件名重复后缀(变量已经包含.svg)- 多余的
; done是Shell循环的结束标记,批处理不需要
修正后的正确脚本
for %%s in (*.svg) do inkscape --export-type="dxf" "%%s" --export-filename="%%~ns.dxf"
关键说明
%%s:遍历当前目录下所有.svg文件,变量包含完整文件名(含后缀)- 给
%%s和输出文件名加引号,是为了兼容带空格的文件名 %%~ns:批处理变量扩展语法,提取文件名的无后缀部分,这样生成的DXF文件是原文件名.dxf,不会出现原文件名.svg.dxf的错误后缀- 确保Inkscape的bin目录已加入系统Path,否则需要写全Inkscape的绝对路径(比如
"C:\Program Files\Inkscape\bin\inkscape.exe")
内容的提问来源于stack exchange,提问作者Jeroen Steen
相关产品推荐
相关产品推荐

