バッチファイル

最終更新日16 Jun 2017 03:06

文字を出力する

echo "文字列"

echo以外の出力をOffにする

@echo off

変数の作成

SET 変数名 = 値

大文字でSETです

変数を使う

%変数名%

終了時にポーズする

pause

コメントアウト

rem コメントの内容

その他構文

  • 入れ子は出来る
  • setやechoなどのコマンド名は大文字でも小文字でもどっちで書いてもいい。

サンプル

@echo off
rem 遅延環境変数に対応させる
setlocal ENABLEDELAYEDEXPANSION
rem .svg拡張子のあるものを列挙
for %%f in (*.svg) do (
  set emffile = %%~nf.emf
  if not exist %%~nf.emf (
rem .emfファイルがまだできてないのだけコマンド実行する
  set c=inkscape -f  %%f -m %%~nf.emf
  echo !c!
  call !c!
  )
)
pause

感想

Macでいうところのsh シェルスクリプト?シェルスクリプトの方が読みやすい。
基本的に構文が古臭くて読みにくい。。
が、押すだけ実行可能なので使う側からしたら便利なので広く使用されている。
.batからpythonを呼ぶという手法をとる手もある。その場合配るライブラリにはpythonのバイナリを含む必要がある。(せいぜい33MBぐらい)
UE4のソースコードの.batではfor分を使うか、中で別の.exeを引数付きで呼ぶ、というような内容になっている。

なので基本的に.batの中に複雑な処理を書いて後でわからなくなるよりも、
.exeやpythonを作って呼び出すという使い方がよさそう。
[[bibliography]]
atom
language-batch…batchファイルの構文をシンタックスハイライトしてくれるAtomのパッケージ


ファイル

サポートサイト Wikidot.com