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

我试着:

copy nul > file.txt

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

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

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


当前回答

. >> file.txt

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

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

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

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

. >> file.txt 2> nul

其他回答

echo "" > filename

我相信这适用于Windows/DOS,但我最后一次使用这两种操作都是很久以前的事了。我确实知道一个事实,它基本上适用于任何POSIX兼容的操作系统。

你可以写你自己的触摸。

//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;
}

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

break > "file.txt"
call>file.txt

这是我知道的最干净的方法。

Echo是一个命令,它创建一个文件,并将传递给它的文本作为参数。

例如,如果你想创建一个名为Navin .txt的文件,其中Navin是一个web开发人员。

然后回显“Navin is a web developer in it”> Navin .txt

如果你想要你的新文件完全为空,只需要让字符串为空,就像这样- echo "" > filename.txt"

将用给定的文本创建一个新文件。