Windows のコマンド ラインで空のファイルを作成するにはどうすればよいでしょうか? 質問する

Windows のコマンド ラインで空のファイルを作成するにはどうすればよいでしょうか? 質問する

DOS/Windows のコマンドラインで空のファイルを作成するにはどうすればよいでしょうか?

私は試した:

copy nul > file.txt

しかし、ファイルがコピーされたことが常に表示されます。

標準の cmd に別の方法はありますか?

それは、触るCygwin からのコマンド、またはその他の非標準コマンド。コマンドはスクリプトから実行する必要があるため、キーストロークは使用できません。

ベストアンサー1

リダイレクトなしではリュック・ヴーまたはエリック・コンスタントプロス ポイント に:

copy NUL EMptyFile.txt
copy /b NUL EmptyFile.txt

バッチファイルから空のテキストファイルを作成するにはどうすればいいですか?「(2008)では次のことも指摘している。

type NUL > EmptyFile.txt
# also
echo. 2>EmptyFile.txt
copy nul file.txt > nul # also in qid's answer below
REM. > empty.file
fsutil file createnew file.cmd 0 # to create a file on a mapped drive

ノマド言及オリジナルの:

C:\Users\VonC\prog\tests>aaaa > empty_file
'aaaa' is not recognized as an internal or external command, operable program or batch file.

C:\Users\VonC\prog\tests>dir

 Folder C:\Users\VonC\prog\tests

27/11/2013  10:40    <REP>          .
27/11/2013  10:40    <REP>          ..
27/11/2013  10:40                 0 empty_file

同じ精神で、サミュエル示唆するコメント欄:

私が使っている最も短いものは基本的に Nomad のものです:

.>out.txt

エラーが発生します:

'.' is not recognized as an internal or external command

しかし、このエラーはstderrにあります。そして、>stdoutにリダイレクトするだけで、何も生成されません。そのため、空の
ファイルが作成されます。ここではエラーメッセージは無視できます。または、次のようにします。
答え、リダイレクト先NUL

.>out.txt 2>NUL

(元の回答、2009 年 11 月)

echo.>filename

(echo ""実際にはファイルに "" が入ります。また、 '.' がなければ、ファイルにecho" " が入ります...)Command ECHO activated

注: 結果のファイルは空ではありませんが、戻り行シーケンス (2 バイト) が含まれます。


これ議論実際の空のファイルに対する真のバッチ ソリューションを示します。

 <nul (set/p z=) >filename

 dir filename
 11/09/2009  19:45                 0 filename
 1 file(s)                         0 bytes

" <nul" はコマンドnulへの応答をパイプしset/p、使用される変数は変更されません。 の場合と同様にset/p、等号の右側の文字列は CRLF なしのプロンプトとして表示されます。

ここでは「等号の右側の文字列」が空なので、結果は空のファイルになります。


cd. > filename(で言及されている)との違いは、パトリック・カフの回答また、0 バイト長のファイルも生成します) の最大の問題は、この「ちょっとしたリダイレクト」(トリック) を使用して、 CR なしで行をエコー<nul...できることです。

<nul (set/p z=hello) >out.txt
<nul (set/p z= world!) >>out.txt
dir out.txt

コマンドdirはファイル サイズを 11 バイトとして示す必要があります: " helloworld!"。

おすすめ記事