やりたいこと
inkscapeではSVGを作成できますが、inkscape専用のデータが含まれており通常のSVGよりもファイルサイズが大きいです。またファイルの絶対パスが含まれていてユーザ名などが含まれる場合もあります。
作業中はinkscape用のSVGの方が便利なのですが、リリース時には削除したほうがいいです。
この記事ではフォルダの中のSVGの中からinkscape専用データを削除するbatを紹介します。
作業効率のために元のファイルを上書きするようにしています。
必ずバックアップなどして元ファイルに戻せるようにしてください。
バッチ
以下の内容でsvg.batを作成して変換したいsvgが保存されているフォルダに保存します。
Inkscapeのインストール場所が”C:\Program Files\Inkscape\”出ない場合は変更してください。
setlocal enableDelayedExpansion
set "TARGET_DIR=."
set "FILE_PATTERN=*.svg"
for %%f in ("%TARGET_DIR%\%FILE_PATTERN%") do (
"C:\Program Files\Inkscape\bin\inkscapecom" "%%~f" --export-plain-svg --export-filename="%%~f"
)
pause
endlocal
InkscapeのGUIの実行ファイルはinkscapeですが、CLIの実行ファイルはinkscapecomです。
–export-plain-svg=”アウトプットファイル”の構文は動作しません。
アウトプットファイルは–export-filenameで指定します。
結果
batによりSVGの中からinkscape専用データを削除することができました。
実際にbat前後を比べると以下のようにInkscape向けの情報が削除されていることが分かります。

コメント