【bat】バッチファイルでテキストファイルを作成する方法

【bat】バッチファイルでテキストファイルを作成・書き込みする完全ガイド|echo・リダイレクト・複数行・UTF-8・CSV・PowerShell・実践パターンまで徹底解説 bat

バッチファイルを使って作業を自動化する際、テキストファイルを作成する必要があることがよくあります。この記事では、バッチファイルでテキストファイルを作成する4つの方法を紹介します。

スポンサーリンク

echo コマンドを使った基本的な方法

バッチファイルでテキストファイルを作成する最もシンプルな方法は、echo コマンドを使用することです。以下のコマンドで、”こんにちは、世界!” というテキストを output.txt というファイルに書き込みます。

echo こんにちは、世界! > output.txt

このコマンドを実行すると、指定された内容がファイルに保存されます。ファイルが存在しない場合は新規に作成され、既に存在する場合は内容が上書きされます。

追記モードでのファイル作成

既存のファイルに新たなテキストを追加するには、>> を使用します。これにより、既存の内容に新しいテキストが追記されます。

echo 追加のテキスト >> output.txt

この方法は、ログファイルのようにデータを追記していきたい場合に便利です。

複数行のテキストを書き込む

複数行にわたるテキストをファイルに書き込むには、複数の echo コマンドを連続して使用します。

echo 1行目のテキスト > output.txt
echo 2行目のテキスト >> output.txt
echo 3行目のテキスト >> output.txt

この方法で、複数行にわたる内容を1つのファイルにまとめることができます。

copy con コマンドを使った対話的なファイル作成

echo コマンド以外にも、copy con コマンドを使用して対話的にファイルを作成する方法もあります。コンソールに入力したテキストがファイルに保存されますが、自動化には向いていません。

copy con output.txt

このコマンドを実行すると、コンソールに入力した内容が output.txt に保存されます。入力を終了するには、Ctrl + Z を押してから Enter を押します。

よくある質問(FAQ)

Q. echoコマンドでテキストファイルを作成するとき、文字コードは何ですか?
A. バッチファイルのechoコマンドで作成するファイルはシステムのANSIコード(日本語環境ではShift-JIS/CP932)になります。UTF-8で保存したい場合はPowerShellを使います:powershell -Command "'内容' | Set-Content -Encoding UTF8 -Path 'ファイル名.txt'"
Q. 複数行のテキストファイルをバッチで作成するにはどうすればよいですか?
A. 各行をechoでリダイレクトします:1行目はecho 1行目 > file.txt(上書き)、2行目以降はecho 2行目 >> file.txt(追記)。または(echo 1行目 & echo 2行目) > file.txtのように括弧でまとめてリダイレクトする方法もあります。
Q. ファイルが既に存在する場合は作成をスキップするにはどうすればよいですか?
A. if not exist "ファイル名.txt" (echo 内容 > "ファイル名.txt")でファイルが存在しない場合のみ作成します。逆に存在しない場合にエラーにするにはif exist "ファイル名.txt" (echo 既に存在します & exit /b 1)とします。

まとめ

バッチファイルでテキストファイルを作成するには、echo コマンドが最も一般的で簡単な方法です。特に、内容を上書きしたり追記したりする際に便利です。また、複数行のテキストを書き込むことも簡単にできます。作業内容に応じて、最適な方法を選んでください。