誰かがBATファイルを使用してMSDOSで空のファイルを作成するコマンドを思い出せますか?
cmd.exe
んか?
Set-Content "your_file.txt" .gitignore -Encoding utf8
これは大文字と小文字を区別し、utf8エンコーディングを強制します!(これも回答として投稿しました)。
誰かがBATファイルを使用してMSDOSで空のファイルを作成するコマンドを思い出せますか?
cmd.exe
んか?
Set-Content "your_file.txt" .gitignore -Encoding utf8
これは大文字と小文字を区別し、utf8エンコーディングを強制します!(これも回答として投稿しました)。
回答:
echo. 2>EmptyFile.txt
.
にecho.
echo 2
なしで使用した場合.
、コンソールには「ECHO is off」と表示されます。echo. 2
改行を表示するだけでコンソール出力を効果的に消音します。
NUL EmptyFile.txtをコピー
DOSには、すべてのディレクトリに存在するいくつかの特別なファイル(実際にはデバイス)があり、NUL
UNIXと同等です/dev/null
。これは、常に空であり、書き込むものをすべて破棄する魔法のファイルです。ここに他のいくつかのリストがあります。CON
時々同様に便利です。
出力がまったくないようにするには、次を使用できます
/ y NUL EmptyFile.txt> NULをコピー
/y
copy
出力がに送られるときに見えない質問をするのを防ぎますNUL
。
copy /Y NUL
コマンドを使用すると、既存のコンテンツが消去される可能性があります。Unixのtouch
コマンドに慣れている場合、これは期待したものとはまったく異なる可能性があります。)type NUL >> emptyfile.txt
この点で、使用する方が安全です。
CON
この回答にリンクされているものを除いて、に関する情報は見つかりませんでした。誰かがいくつかの軽い読書を共有できますか?
type NUL > EmptyFile.txt
前の2つの投稿を読んだ後、この2つのブレンドが思いついたものです。少しきれいに見えます。「1個のファイルがコピーされました」のリダイレクトについて心配する必要はありません。NUL
以前の投稿と同様に、へのメッセージで、ECHO OutputLineFromLoop >> Emptyfile.txt
通常はバッチファイルで続くの横に表示されます。
他の回答から集めたテクニック:
0バイトのファイルを非常に明確で下位互換性のある方法にします。
type nul >EmptyFile.txt
アイデア:anonymous、Danny Backett、おそらく他の人、JdeBPの仕事に触発された自分
0バイトのファイルは別の方法であり、下位互換性があります。
REM. >EmptyFile.txt
アイデア:Johannes
3番目の下位互換性のある外観の0バイトのファイル:
echo. 2>EmptyFile.txt
アイデア:TheSmurf
Windows 2000以降でおそらく体系的に使用できる0バイトのファイル:
fsutil file createnew EmptyFile.txt 0
アイデア:Emm
読み取り専用ファイルを上書きする0バイトのファイル
ATTRIB -R filename.ext>NUL
(CD.>filename.ext)2>NUL
アイデア:copyitright
単一の改行(2バイト:0x0D 0x0A
に16進表記、代わりとして書か\r\n
):
echo.>AlmostEmptyFile.txt
注:なしとの間のスペースecho
、.
および>
。
アイデア:バッチファイルで改行をエコーするにはどうすればよいですか?
編集と思われ、無効なコマンドリダイレクトされたファイルには、空のファイルを作成します。えっと、機能!互換性:不明
TheInvisibleFeature <nul >EmptyFile.txt
0バイトのファイル:無効なコマンド/ランダムな名前(互換性:uknown):
%RANDOM%-%TIME:~6,5% <nul >EmptyFile.txt
経由:Hung Huynhによるランダムの素晴らしいソース
編集2 Andriy Mは無効なコマンドを介してこれを達成するためのおそらく最も面白い/挑発的な方法を指摘しています
0バイトのファイル:無効なコマンド/ファンキーな方法(互換性:不明)
*>EmptyFile.txt
アイデア:Andriy M
0バイトのファイル4番目に来る方法:
break > file.txt
type nul ...
、ではないtype <nul ...
実際には、。
NonExistentCommand <nul >EmptyFile.txt
break > file.txt
、小道具foxidrive
>>
「存在しなければならないが、存在している場合は切り捨ててはならない」(Unixのようにtouch
)必要がある場合に使用できます
REM。> empty.file
REM.
、cmdが「 'rem。」で応答することです。内部または外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。」
rem/
代わりにrem.
を使用してその問題を解決します...
書き込まれるファイルがすでに存在し、読み取り専用である可能性がある場合は、次のコードを使用します。
ATTRIB -R filename.ext
CD .>filename.ext
ファイルが存在しない場合は、単に次のようにします。
CD .>filename.ext
(DodgyCodeExceptionのコメントに従って更新/変更されたコード)
発生する可能性のあるエラーを抑制するには:
ATTRIB -R filename.ext>NUL
(CD .>filename.ext)2>NUL
CD
は、現在のディレクトリに(拡張子なしの)というファイルがあり、CD.
「」と入力すると、cmdが「CD」で応答することです。内部または外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。」代わりにCD .
(ドットの前にスペースを入れて)入力すると、機能します。
fsutil file createnew file.cmd 0
本に追加するもう1つ-短くてタイプするのが甘い。
break>file.txt
break>"file with spaces in name.txt"
のTYPE
代わりにコマンドを使用できますCOPY
。これを試して:
TYPE File1.txt>File2.txt
どこFile1.txt
が空です。
type NUL>File2.txt
無限のアプローチがあります。
何も出力しないコマンド:
break
cls
color
goto
pushd
popd
prompt
title
奇妙なコマンド:
CD.
REM.
@echo off
cmd /c
START >FILE
古いprint
コマンドは空のファイルを生成します:
print /d:EMPTY_TEXT_FILE nul
最も簡単な方法は次のとおりです。
echo. > Filename.txt
重要:
エンコーディングを設定しないと、多くのソフトウェアが壊れる可能性があります。gitは非常に人気のある例です。
Set-Content "your_ignore_file.txt" .gitignore -Encoding utf8
これは大文字と小文字を区別し、utf8エンコーディングを強制します!