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

我试着:

copy nul > file.txt

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

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

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


当前回答

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

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

其他回答

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

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

试试这个:

echo $null >> filename 

参见:相当于Linux触摸创建一个空文件与PowerShell

还有其他简单的方法来创建文件。

例如,您可以创建文件并从cmd中使用记事本打开它

notepad newFile.txt

这将提示您没有这样的文件,如果您想将其创建为一个新文件。

您可以像这样创建任何类型的文件。

例如,

notepad newFile.js

OR

notepad newFile.py

不仅是记事本,你还可以使用其他应用程序来这样做。例如,您可以使用Visual Studio代码来创建和打开新文件。

例如,

code newFile.py

这将创建一个新的Python文件,并在vs code中打开它(如果你安装了vs code)。

您还可以使用此方法创建其他类型的文件。

你可以写你自己的触摸。

//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;
}
. >> file.txt

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

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

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

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

. >> file.txt 2> nul