如何在DOS/Windows命令行创建一个空文件?
我试着:
copy nul > file.txt
但是它总是显示文件被复制了。
在标准cmd中是否有其他方法?
它应该是一个不需要来自Cygwin或任何其他非标准命令的触摸命令的方法。 该命令需要从脚本运行,因此不能使用击键。
如何在DOS/Windows命令行创建一个空文件?
我试着:
copy nul > file.txt
但是它总是显示文件被复制了。
在标准cmd中是否有其他方法?
它应该是一个不需要来自Cygwin或任何其他非标准命令的触摸命令的方法。 该命令需要从脚本运行,因此不能使用击键。
echo "" > filename
我相信这适用于Windows/DOS,但我最后一次使用这两种操作都是很久以前的事了。我确实知道一个事实,它基本上适用于任何POSIX兼容的操作系统。
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
Nomad提到一个原创的例子:
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。 因此会创建一个空文件。 这里可以忽略错误消息。或者,就像Rain的回答一样,重定向到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”向set/p命令输出一个空响应,这将导致 变量保持不变。与通常的set/p一样,字符串指向 等号的右侧显示为提示符,没有CRLF。
因为这里“等号右边的字符串”是空的……结果是一个空文件。
cd. >文件名的区别(在Patrick Cuff的回答中提到过,也会产生一个0字节长度的文件)是这个“重定向位”(<nul…trick)可以用来回声行没有任何CR:
<nul (set/p z=hello) >out.txt
<nul (set/p z= world!) >>out.txt
dir out.txt
dir命令应该指示文件大小为11字节:"helloworld!"。
你可以写你自己的触摸。
//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;
}
在Windows命令行中,一种方法是使用fsutil:
fsutil file createnew <filename> <size>
一个例子:
fsutil file createnew myEmptyFile.txt 0
下面是*nix命令行。
touch filename
此命令更改文件的修改日期,如果找不到文件,则创建该文件。
如果你真的想要一个完全空的文件,没有任何输出到stdout,你可以欺骗一点:
copy nul file.txt > nul
只需将stdout重定向为nul, copy的输出就会消失。
首先创建你的文件,让它存在:
echo . > myfile.txt
然后使用copy命令将创建的文件覆盖为空版本:
copy /y nul myfile.txt
试试这个:abc > myFile.txt 首先,它将在当前工作目录(在命令提示符中)创建一个名为myFile.txt的文件。然后它将运行命令abc,这是一个无效的命令。通过这种方式,您获得了一个名为myFile.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命令。
打开文件:
type file.txt
新文件:
方法一:输入nul > file.txt 这是一个文本文件> sample.txt 方式三:notepad myfile.txt <按Enter>
编辑内容:
notepad file.txt
Copy
copy file1.txt file1Copy.txt
重命名
rename file1.txt file1_rename.txt
删除文件:
del file.txt
在管理员模式下运行CMD,输入以下内容:
NUL > file_name.extention
或者输入这个
echo .> file_name.extention
我刚刚在Windows中尝试过:
copy con file.txt
然后按Enter键。然后按“Ctrl + Z”,按“Enter”。
这对我很有效。
对于Ubuntu,我通常使用vi命令创建一个文件
vi file.txt
它将打开文件。然后按“Esc”键。然后输入:wp并按Enter键。它将创建一个包含空数据的新文件。
在Windows上
我试过这么做
echo off > fff1.txt
它创建了一个名为fff1.txt的文件,文件大小为0 KB。
除了这个命令之外,我没有发现任何可以创建空文件的命令。
注意:你必须在你想要创建文件的目录中。
创建内容为“> %1”的bat文件(将文件命名为touch.bat)。 将文件夹添加到PATH环境变量中。 你可以使用触摸来创建文件。(例如:touch temp.txt创建temp.txt文件)
查看这篇文章了解更多信息。
要创建任何类型的文件,您可以使用以下代码
type nul > (file_name).(file_type)
例如,如果你想创建一个文本文件,那么
type nul > demo.txt
如果你想创建一个JavaScript文件
type nul > demo.js
. >> file.txt
>>将标准输出追加到文件中 . 仅仅是一个错误的命令传递空标准输出>>
然而,你会在CMD中看到标准错误的输出:
”。’不被认为是一个内部或外部命令,可操作 程序或批处理文件。
您可以通过将标准错误重定向到NUL来抑制此错误消息(如果您愿意)。
. >> file.txt 2> nul
还有其他简单的方法来创建文件。
例如,您可以创建文件并从cmd中使用记事本打开它
notepad newFile.txt
这将提示您没有这样的文件,如果您想将其创建为一个新文件。
您可以像这样创建任何类型的文件。
例如,
notepad newFile.js
OR
notepad newFile.py
不仅是记事本,你还可以使用其他应用程序来这样做。例如,您可以使用Visual Studio代码来创建和打开新文件。
例如,
code newFile.py
这将创建一个新的Python文件,并在vs code中打开它(如果你安装了vs code)。
您还可以使用此方法创建其他类型的文件。
Echo是一个命令,它创建一个文件,并将传递给它的文本作为参数。
例如,如果你想创建一个名为Navin .txt的文件,其中Navin是一个web开发人员。
然后回显“Navin is a web developer in it”> Navin .txt
如果你想要你的新文件完全为空,只需要让字符串为空,就像这样- echo "" > filename.txt"
将用给定的文本创建一个新文件。