DOS/Windowsのコマンドラインで空のファイルを作成するにはどうすればいいですか?
私は試した:
copy nul > file.txt
しかし、ファイルがコピーされたことは常に表示されます。
標準のcmdに他の方法はありますか?
Cygwinの touch コマンドやその他の非標準コマンドを必要としない方法であるべきです。コマンドはスクリプトから実行する必要があるので、キーストロークは使用できません。
なしリダイレクト、 Luc Vu または Erik Konstantopoulospointout へ:
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
しかし、このエラーは標準エラーです。そして>
は標準出力のみをリダイレクトします。ここでnothingは生成されています。
したがって、emptyファイルが作成されました。エラーメッセージはここで無視することができます。
(原題、2009年11月)
echo.>filename
(echo ""
は実際にファイルに ""を入れます!そして '。'のないecho
はファイルに "Command ECHO activated
"を入れます...)
注:結果のファイルはemptyではありませんが、2バイトの戻り行シーケンスが含まれています。
この 議論 は本当のemptyファイルのための本当のバッチソリューションを示します:
<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バイト長のファイルも生成します)との違いは、この "bit of redirection"(<nul...
トリック)を echo行に使用できることですCR :なし
<nul (set/p z=hello) >out.txt
<nul (set/p z= world!) >>out.txt
dir out.txt
Dirコマンドは、ファイルサイズを12バイトとして表示する必要があります: "
hello world!
"。
これを試して:
type NUL > 1.txt
これは間違いなく空のファイルを作成します。
これは別の方法です:
cd. > filename
標準出力に何も出力せずに、本当に空のファイルがほしいのであれば、少しカンニングすることができます。
copy nul file.txt > nul
標準出力をnulにリダイレクトするだけで、コピーからの出力は消えます。
ファイルを開く:
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
このコマンドは、ファイルの変更日を変更するか、ファイルが見つからない場合はそれを作成します。
echo "" > filename
私はこれがWindows/DOS上で動くと信じていますが、どちらかを使った私の最後の実地体験はかなり前のことです。私はそれが基本的にどんな _ posix _ 準拠のOSでも動くという事実を知っています。
call>file.txt
これは私が知っている最もきれいな方法です。
あなたはあなた自身のタッチを書くことができます。
//touch.cpp
#include <fstream>
#include <iostream>
int main(int argc, char ** argv;)
{
if(argc !=2)
{
std::cerr << "Must supply a filename as argument" << endl;
return 1;
}
std::ofstream foo(argv[1]);
foo.close();
return 0;
}
cd > filename.cfg
直接ファイルを作成するためのアクセス権がないC:/ Program Filesでファイルを作成するときにうまくいきました。
コピーSome SomeFile.txt Enter
Ctrl-ZEnter
ゼロバイトファイルを作成するもう1つの方法:
break > "file.txt"
コマンドプロンプトでcopy > your_file_name.extension
を使用する
P:\excecise> copy > Sample.txt
これを試してください。abc > myFile.txt
最初に、現在の作業ディレクトリにmyFile.txt
という名前のファイルを作成します(プロンプトで)。それからそれは有効なコマンドではないコマンドabc
を実行します。このようにして、myFile.txt
という名前の新しい空のファイルができました。
あなたは古いコマンドを使用することができます
copy con file_name.ext
何も入力しないで保存するにはF6キーを押すだけですが、「ファイルがコピーされました」と表示されますが、ファイルを開くと空になります。
あなたも使用することができます:
echo. 2>foo
echo.
のデバッグ出力はほぼ間違いなく空になります。
type nul>filename
は新しい空のファイルを作成します。
_ update _ :またcopy nul filename
はリダイレクトせずに動作します(より明白な解決策)。
だからあなたは空のファイルを作成することができます
'' > newfile.txt
ディレクトリに移動し、PowerShellウィンドウで上記のコマンドを入力します。
Windowsのコマンドプロンプトでは機能しません。
これは私のために働きました、
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 という名前のファイルを0kbのファイルサイズで作成しました
これ以外に空のファイルを作成するようなコマンドは見つかりませんでした。
注意:ファイルを作成したいディレクトリにいる必要があります。
さらに別の方法:
copy nul 2>empty_file.txt
ちょうど私は窓の中で試してみました
copy con file.txt
次に押す Enter キーを押してから押す Ctrl+ZEnter
そしてそれは私のために働いた。
buntuでは通常VIコマンドを使ってファイルを作成しています
vi file.txt
それはファイルを開きそれから押す ESC キーを押してから:wpを押してから enter キー。空のデータで新しいファイルを作成します。
echo '' > %1
のbatファイルを作成します。 (ファイルにtouch.batという名前を付けます)touch temp.txt
はtemp.txtファイルを作成します)詳細については this articleを参照してください。
私はたくさんのスレッドを読みましたが、それは最短の方法ではありません。
コマンドを使用してください:
>copy /b NUL empty_file.txt
今日私は新しいものを発見しました:)
これはコマンドラインウィンドウのタイトルを変更しますが、空のファイルも作成します。
title > file.txt
これはさらに別の方法です。
rem/ > file.ext
スラッシュ/
は必須です。それがなければ、リダイレクト部分はrem
でコメントアウトされていました。
任意の種類のファイルを作成するためには、次のコードを使用できます。
nul>(file_name)と入力します。(file_type)
例えば。テキストファイルを作成したい場合は
nul> demo.txtと入力します。
JavaScriptファイルを作成したい場合は
nul> demo.jsと入力します。
CMDを管理者モードで実行し、次のように入力します。
NUL > file_name.extention
またはあなたはこれをタイプする
echo .> file_name.extention
echo.|set /p=>file
echo.
は "Command ECHO activated"を抑制します
|set /p=
は改行を防ぎます(そしてファイルは0バイトになりました)
WindowsのVIMユーザーとして、私はこの質問スレッドで答えを見つけることができませんでした。
このスレッド からの解決策として、 gvim を最初にインストールしてください。
インストール中に、以下に示すように「コマンドライン使用のための.batファイルを作成する」オプションを必ずチェックしてください。
Vim.batやgvim.batのようないくつかのbatファイルは C:\ Windows の下にインストールされます。 C:\ Windows をsystem Path に追加していない場合。
cmd.exe を再起動してgvim empty_file.txt
と入力すると、gvimを起動して空のファイルを最初から編集します。 「コマンドプロンプト」コンソールを離れたくない場合は、代わりにvim empty_file.txt
を入力してください。
この回答が、空のファイルを作成するときにWindowsのコマンドプロンプトからVIMを起動したい場合に役立つことを願います。
最初にファイルを作成して、存在するようにします。
echo . > myfile.txt
次に、copy
コマンドを使用して、作成したファイルを空のバージョンで上書きします。
copy /y nul myfile.txt