【コピペで使える】バッチファイルで空ファイルを作る方法3パターン
Windows におけるバッチファイルは、扱い方を覚えてしまえば PC 操作がより快適になりますが、専門として取り扱っている方でなければ他プログラミング言語とも勝手が違いますし、取っつきにくいところかと思います。
今回は、バッチファイルを利用して空ファイルを作る方法を、コピーアンドペーストで使えるコード付きで紹介したいと思います。
type を使ったパターン
type 関数は、引数に指定したファイル内容を表示するものです。
type C:\Users\Public\Documents\sample.txt
上記のコマンドを実行した場合、sample.txt の内容がコマンドライン上に表示されます。
引数に送り先を指定した場合、送り元ファイルの内容を送り先ファイルに反映されます。
type C:\Users\Public\Documents\sample.txt > C:\Users\Public\Documents\sample2.txt
上記のコマンドでいえば、パブリックのドキュメントに保存されている sample.txt の内容がそのまま sample2.txt にコピーされます。
今回は、type nul > %新規ファイル名% とすることで、
空データをファイルに書き出します。ファイルがないので、新しく作ります。
といった動作を起こし、空ファイルを生成されます。
type nul > %ファイル名%
以下はコピペ用テストデータとなります。変数である FOLDER, FILE をそれぞれ、出力したいフォルダ、ファイル名に変更してください。
イメージ(コピーできます)

バッチファイルの場合
@echo off
setlocal
set FOLDER=%userprofile%\Documents\
set FILE=test.out
type nul > %FOLDER%%FILE%
endlocal
exit
Copy を使ったパターン
copy コマンドは 2 つの引数を使って、データをコピーする関数です。
copy A B
上記のコマンドを実行した場合、A というファイルを、B というファイルにコピーすることができます。
今回は、 copy nul %新規ファイル名% とすることで、
空データをファイルにコピーします。ファイルがないので、新しく作ります。
といった動作を起こすことで、空ファイルを作成します
copy nul %ファイル名%
以下はコピペ用テストデータとなります。変数である FOLDER, FILE をそれぞれ、出力したいフォルダ、ファイル名に変更してください。
イメージ(コピーできます)

バッチファイルの場合
@echo off
setlocal
set FOLDER=%userprofile%\Documents\
set FILE=test.out
copy nul %FOLDER%%FILE%
endlocal
exit
echo を使ったパターン
一番馴染みのあるであろう echo を使用したパターンも紹介します。注意点としては、完全な空ファイルは作られません。2 バイトのデータができてしまいます。ですが、基本的に重複チェックなどに使うだけであれば、大きな問題とはならないかと思います。
echo は送り先を指定することで、引数をファイルに書き出すことができます。ここまで聞くと、echo nul>%ファイル名%としたくなりますが、nul が「nul」という文字列として扱われてしまうため、うまくいきません。ですので、改行を出力する、echo;と組み合わせ、echo;>%ファイル名%とすることで、
改行をファイルに出力します。ファイルがないので、新しく作ります。
といった動作になります。ファイルサイズが 2 バイトできてしまいますが、一番理解しやすいかもしれませんね。
echo;>%ファイル名%
以下はコピペ用テストデータとなります。変数である FOLDER, FILE をそれぞれ、出力したいフォルダ、ファイル名に変更してください。
イメージ(コピーできます)

バッチファイルの場合
@echo off
setlocal
set FOLDER=%userprofile%\Documents\
set FILE=test.out
echo;>%FOLDER%%FILE%
endlocal
exit