バッチファイルにコマンドを書く場合、一つのコマンドが長くなって読みにくくなる時があります。こんな時、一つのコマンドを複数行に分けて書けると嬉しいですね。
bashの場合は\です。バッチファイルの場合は^を使います。
例えば、hoge.txtをfuga.txtにコピーする場合は普通に書けば
1 |
copy hoge.txt fuga.txt |
です。
これを複数行に分けて書くとこうなります。
1 2 3 |
copy ^ hoge.txt ^ fuga.txt |
この方法はパイプやリダイレクトでも使えます。
1 2 |
dir |^ sort |
1 2 |
dir >^ dir.txt |
ただし、|や>と^の順番を間違えるとちゃんと動いてくれません。しかも、エラーも出ないので気を付けてくださいね。
【NGパターン1】
1 2 |
dir ^ |sort |
【NGパターン2】
1 2 |
dir ^ >dir.txt |
この方法は、バッチファイル内だけじゃなく、コマンドプロンプト(DOS窓)でも使えます。