[bat]一括でinkscapeのSVGをプレーンにする

この記事は約2分で読めます。
スポンサーリンク

やりたいこと

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向けの情報が削除されていることが分かります。

コメント

タイトルとURLをコピーしました