DOS / Windowsコマンドラインで空のファイルを作成する方法は?
私は試した:
copy nul > file.txt
ただし、常にファイルがコピーされたことが表示されます。
標準コマンドに他の方法はありますか?
これは、Cygwinからのtouchコマンドやその他の非標準コマンドを必要としないメソッドでなければなりません。コマンドはスクリプトから実行する必要があるため、キーストロークを使用できません。
DOS / Windowsコマンドラインで空のファイルを作成する方法は?
私は試した:
copy nul > file.txt
ただし、常にファイルがコピーされたことが表示されます。
標準コマンドに他の方法はありますか?
これは、Cygwinからのtouchコマンドやその他の非標準コマンドを必要としないメソッドでなければなりません。コマンドはスクリプトから実行する必要があるため、キーストロークを使用できません。
回答:
リダイレクトなしで、Luc VuまたはErik Konstantopoulosは次のように 指摘 します。
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のみをリダイレクトします。
したがって、空のファイルが作成されます。エラーメッセージはここでは無視できます。
(元の回答、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
(Patrick Cuffの回答で言及されており、0バイト長のファイルも生成する)との違いは、この「リダイレクトのビット」(<nul...
トリック)を使用してCRなしで行をエコーできることです。
<nul (set/p z=hello) >out.txt
<nul (set/p z= world!) >>out.txt
dir out.txt
dir
コマンドは、11バイトにファイルサイズを示す必要があります:「helloworld!
」。
echo.>filename
スペースと改行文字が含まれるため、実際に必要です。
rem
コマンドを使用すると、空の行を含むファイルの作成を回避できます。
rem>filename
同じ結果(2バイト)を生成する
>
stdoutだけにリダイレクトしout.txt
ます。したがって、空のファイルが作成されます。この場合のエラーメッセージは無視してかまいません。
ここに別の方法があります:
cd. > filename
cd. > filename
仕事の代わりに私のために働くのではありませんcd > filename
!
cd . > filename.extension
間にスペースが必要であることを意味しますcd
.
stdoutへの出力なしで完全に空のファイルが本当に必要な場合は、少しチートできます。
copy nul file.txt > nul
stdoutをnulにリダイレクトするだけで、コピーからの出力が消えます。
type nul>file
別の方法になります。
ファイルを開く:
type file.txt
新しいファイル:
Way 1 : type nul > file.txt
Way 2 : echo This is a sample text file > sample.txt
Way 3 : notepad myfile.txt <press enter>
コンテンツを編集:
notepad file.txt
コピーする
copy file1.txt file1Copy.txt
リネーム
rename file1.txt file1_rename.txt
ファイルを削除する :
del file.txt
私の投稿のコメントを読んで、質問を正しく読んでいないことを認めなければなりません。
Windowsコマンドラインでの1つの方法は、fsutilを使用することです。
fsutil file createnew <filename> <size>
例:
fsutil file createnew myEmptyFile.txt 0
以下は* nixコマンドライン用です。
touch filename
このコマンドは、ファイルの変更日を変更するか、ファイルが見つからない場合に作成します。
> filename
にに部分的に慣れており、既存のファイルを切り捨てるために使用することもできます。
fsutil
管理者権限が必要です。空のファイルを単に作成することを要求するのは少し多くです...
echo "" > filename
これはWindows / DOSで機能すると思いますが、どちらかを使った最後の実地体験はかなり前のことです。私はそれが基本的にすべてのPOSIX準拠のOS で動作するという事実を知っています。
call>file.txt
これは私が知っている最もクリーンな方法です。
コピーSomeFile.txt Enter
Ctrl-Z Enter
のcopy > your_file_name.extension
ようなコマンドプロンプトで使用する
P:\excecise> copy > Sample.txt
これは私のために働いた、
echo > file.extension
ここに私が今日見つけた別の方法があります、他の答えからアイデアを得ましたが、それはうまくいきました
sometext > filename.extension
例えば。
xyz > emptyfile.txt //this would create an empty zero byte text file
abc > filename.mp4 //this would create an zero byte MP4 video media file
これにより、コマンドプロンプトにエラーメッセージが表示されます。
xyz
内部または外部コマンド、操作可能なプログラムまたはバッチファイルではありません。
しかし、奇妙なことに、コマンドが標準のWindowsコマンドではない場合でも、ファイルがディレクトリに作成されていることがわかりました。
Windows ではこれをやってみました
echo off > fff1.txt
それは名前のファイルを作成fff1.txt 0キロバイトのファイルサイズを
空のファイルを作成する可能性のあるこれ以外のコマンドは見つかりませんでした。
注:ファイルを作成するディレクトリにいる必要があります。