バッチファイル/コマンドプロンプト(DOS窓)で長いコマンドを複数行に分けて書く方法

バッチファイルにコマンドを書く場合、一つのコマンドが長くなって読みにくくなる時があります。こんな時、一つのコマンドを複数行に分けて書けると嬉しいですね。

bashの場合は\です。バッチファイルの場合は^を使います。

例えば、hoge.txtをfuga.txtにコピーする場合は普通に書けば

copy hoge.txt fuga.txt

です。

これを複数行に分けて書くとこうなります。

copy ^
hoge.txt ^
fuga.txt

この方法はパイプやリダイレクトでも使えます。

dir |^
sort
dir >^
dir.txt

ただし、|や>と^の順番を間違えるとちゃんと動いてくれません。しかも、エラーも出ないので気を付けてくださいね。

【NGパターン1】

dir ^
|sort

【NGパターン2】

dir ^
>dir.txt

この方法は、バッチファイル内だけじゃなく、コマンドプロンプト(DOS窓)でも使えます。