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

我试着:

copy nul > file.txt

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

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

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


当前回答

我读了很多文章,但这不是最短的方法。

请使用命令:

>copy /b NUL empty_file.txt

其他回答

如果你真的想要一个完全空的文件,没有任何输出到stdout,你可以欺骗一点:

copy nul file.txt > nul

只需将stdout重定向为nul, copy的输出就会消失。

这将改变命令行窗口的标题,但也将创建一个空文件。

title > file.txt
. >> file.txt

>>将标准输出追加到文件中 . 仅仅是一个错误的命令传递空标准输出>>

然而,你会在CMD中看到标准错误的输出:

”。’不被认为是一个内部或外部命令,可操作 程序或批处理文件。

您可以通过将标准错误重定向到NUL来抑制此错误消息(如果您愿意)。

. >> file.txt 2> nul

首先创建你的文件,让它存在:

echo . > myfile.txt

然后使用copy命令将创建的文件覆盖为空版本:

copy /y nul myfile.txt

在Windows命令行中,一种方法是使用fsutil:

fsutil file createnew <filename> <size>

一个例子:

fsutil file createnew myEmptyFile.txt 0

下面是*nix命令行。

touch filename

此命令更改文件的修改日期,如果找不到文件,则创建该文件。