Ribbit's works

【コピペで使える】バッチファイルで空ファイルを作る方法3パターン

#PowerShell公開 2021-08-18
記事のトップ画像

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 をそれぞれ、出力したいフォルダ、ファイル名に変更してください。

イメージ(コピーできます)

コマンドプロンプトのアイコン
コマンド プロンプト
+
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2022 Ribbit's works All rights reserved.
 
C:/users/user>type nul > %userprofile%/Documents/empty.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 をそれぞれ、出力したいフォルダ、ファイル名に変更してください。

イメージ(コピーできます)

コマンドプロンプトのアイコン
コマンド プロンプト
+
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2022 Ribbit's works All rights reserved.
 
C:/users/user>copy nul %userprofile%/Documents/empty.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 をそれぞれ、出力したいフォルダ、ファイル名に変更してください。

イメージ(コピーできます)

コマンドプロンプトのアイコン
コマンド プロンプト
+
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2022 Ribbit's works All rights reserved.
 
C:/users/user>echo;>%userprofile%/Documents/empty.file|

バッチファイルの場合

@echo off
setlocal

set FOLDER=%userprofile%\Documents\
set FILE=test.out

echo;>%FOLDER%%FILE%

endlocal
exit