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

我试着:

copy nul > file.txt

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

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

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


当前回答

这对我很有效,

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

其他回答

echo. | set /p=>file

的回声。抑制“命令ECHO激活”

| set /p=阻止换行(现在文件是0字节)

. >> file.txt

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

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

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

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

. >> file.txt 2> nul

创建内容为“> %1”的bat文件(将文件命名为touch.bat)。 将文件夹添加到PATH环境变量中。 你可以使用触摸来创建文件。(例如:touch temp.txt创建temp.txt文件)

查看这篇文章了解更多信息。

还有另一个创建零字节文件的方法:

break > "file.txt"

还有另一种方法:

rem/ > file.ext

斜杠/是强制的;如果没有它,重定向部分将被rem注释掉。