2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Inkscapeのコマンドラインで拡張子を素早く簡単に変更する

Posted at

はじめに

ゼミ原稿や論文を書くとき、私は Gnuplot で eps ファイルを作ります。そして作成した eps を Word や PowerPoint に使うときは、なるべく画質が落ちないように eps から emf へと変換させます。今までは Convertio を使って変換していましたが、やや面倒くさいんですよね。もっと素早く変換したいのです。

結論

bat ファイルを作りました。今まで、pngeps に変えたり、epsemf に変えようと Convertio や Inkscape で「名前をつけて保存」をしていましたが、Inkscape のコマンドラインを利用して、より素早く処理できました。実は初めて bat を書いたので、参考文献には初歩的な文法の解説サイトも参考にさせて頂きました。

バッチファイルはよく分からないけど、拡張子の変換は頻繁にする

という方は是非参考サイトをチェックしてみて下さい。
※ Inkscape のダウンロードが必要です

必要な機能とスクリプト

前述の通り、私はよく eps を作り、emf に変換したい人です。また、LaTex に挿入するために eps に変換したいこともあります。大概はこの2つの変換で事足ります。そこで、epsemfに、それ以外は eps に変換するバッチファイルを作りました。一気に複数の変更が可能です。やり方は、変えたいファイルをバッチファイルにドラッグ&ドロップするだけ。

メディア1.gif

epsemf に。その他は eps に変換できています。

Eps2Emf_X2Eps.bat
@echo off
rem How to use : このバッチファイルに変換したいファイルを全てドラッグ&ドロップしてください
rem 拡張子の変換  : Eps To Emf / その他 To Eps
set file=%1
if not defined file (
 	echo please drag and drop file that you want to change extension
	goto eof
)
set inkscape1="%ProgramFiles%\Inkscape\bin\inkscape.com"
for %%f in (%*) do (
	if "%%~xf"==".eps" (
		%inkscape1% --export-filename=%%~nf.emf %%f
	) else (
		%inkscape1% --export-filename=%%~nf.eps %%f
	)
)

スクリプトの if 分岐を変更したり、 出力拡張子を変更することで、任意の拡張子から拡張子へと変更することが可能です。ネストを深くして、ディレクトリごとに出力する拡張子を変更してみたりしてもいいかもしれません。

参考文献

Inkscape のコマンドライン

コメントの書き方

バッチファイルの引数とドラッグ&ドロップ

if文

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?