web-dev-qa-db-ja.com

バッチファイルから空のテキストファイルを作成する方法

誰かがMS DOSでBATファイルを使用して空のファイルを作成するコマンドが何であったか覚えていますか?

224
m_pGladiator
echo. 2>EmptyFile.txt
226
TheSmurf
nUL EmptyFile.txtをコピーする

DOSはすべてのディレクトリに存在するいくつかの特別なファイル(実際にはデバイス)を持っています。NULはUNIXの/dev/nullと同等です。これが他の人たちの リスト です。 CONも時折便利です。

まったく出力されないようにするには、次のようにします。

emptyFile.txt> NUL

/ycopyが出力がNULに行くときにあなたが見ることができない質問をするのを防ぎます。

334
ephemient
type NUL > EmptyFile.txt

前の2つの記事を読んだ後、この2つの組み合わせが私が思いついたものです。少しきれいに見えます。 「1ファイルのコピー」をリダイレクトすることについて心配する必要はありません。前の記事のように、NULへのメッセージ。通常はバッチファイルで続くECHO OutputLineFromLoop >> Emptyfile.txtの横に表示されます。

174
Anonymous

私が他の答えから集めたテクニック:

0バイトのファイルを非常に明確で下位互換性のある方法にします。

type nul >EmptyFile.txt

経由でアイデア: 匿名Danny Backett 、おそらく他の人、 JdeBPの作品に触発された

0バイトのファイルを別の方法で、後方互換性があるように見せます。

REM. >EmptyFile.txt

経由のアイデア: ヨハネス

0バイトのファイル3番目の方法後方互換性もあります。

echo. 2>EmptyFile.txt

によるアイデア: TheSmurf

体系的な方法で0バイトのファイルおそらく Windows 2000以降で利用可能:

fsutil file createnew EmptyFile.txt 0

によるアイデア: エム

読み取り専用ファイルを上書きする0バイトのファイル

ATTRIB -R filename.ext>NUL
(CD.>filename.ext)2>NUL

によるアイデア: copyitright

1つの改行(2バイト: 16進表記の0x0D 0x0A 、あるいは\r\nと表記):

echo.>AlmostEmptyFile.txt

注:noecho.、および>の間のスペース。

経由でアイデア: どのようにあなたはバッチファイルで改行をエコーすることができますか?


edit任意の無効なcommandリダイレクトのようですfileは空のファイルを作成します。ねえ、機能!互換性:知られていません

TheInvisibleFeature <nul >EmptyFile.txt

0バイトのファイル:無効なコマンド/ランダムな名前(互換性:不明):

%RANDOM%-%TIME:~6,5% <nul >EmptyFile.txt

via:great source ランダムにHung Huynh

edit 2 Andriy M 指摘 無効なコマンドでこれを達成するためのおそらく最もおもしろくて挑発的な方法

0バイトのファイル:無効なコマンド/ファンキーなやり方(互換性:不明)

*>EmptyFile.txt

によるアイデア: Andriy M

0バイトファイルの先着順

break > file.txt

経由でアイデア: foxidrive おかげで コメント / Double Gras

56
n611x007

レム。 > empty.file

25
Johannes

書き込まれるファイルが既に存在し、読み取り専用である可能性がある場合は、次のコードを使用してください。

ATTRIB -R filename.ext
CD .>filename.ext

ファイルが存在しない場合は、単純に次のようにします。

CD .>filename.ext

(DodgyCodeExceptionのコメントに従ってコードを更新/変更しました)

発生する可能性があるエラーを抑制するために:

ATTRIB -R filename.ext>NUL
(CD .>filename.ext)2>NUL
8
script'n'code
fsutil file createnew file.cmd 0
7
Emm

本に追加するもう1つ - 短くてタイプしやすい。

break>file.txt
break>"file with spaces in name.txt"
7
foxidrive

TYPEの代わりにCOPYコマンドを使用できます。これを試して:

TYPE File1.txt>File2.txt

File1.txtは空です。

2
Mark Fanto

次のようにSETを使用してnullのbyteファイルを作成することもできます。

set x=x > EmptyFile.txt

あるいは、追加の変数を作成したくない場合は、次のように既存の変数を再割り当てします。

set Prompt=%Prompt% > EmptyFile.txt

またはこのように:

set "Prompt=%Prompt%" > EmptyFile.txt
1
PeterE

最も簡単な方法は次のとおりです。

echo. > Filename.txt

0
Batchman