如何在DOS/Windows命令行创建一个空文件?

我试着:

copy nul > file.txt

但是它总是显示文件被复制了。

在标准cmd中是否有其他方法?

它应该是一个不需要来自Cygwin或任何其他非标准命令的触摸命令的方法。 该命令需要从脚本运行,因此不能使用击键。


当前回答

我刚刚在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。

除了这个命令之外,我没有发现任何可以创建空文件的命令。

注意:你必须在你想要创建文件的目录中。

在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 > 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命令。

您可以使用旧命令

copy con file_name.ext

不要打任何东西。按F6保存即可。然而,它会打印“文件复制”,但当你打开文件时,它将是空的。