如何在DOS/Windows命令行创建一个空文件?
我试着:
copy nul > file.txt
但是它总是显示文件被复制了。
在标准cmd中是否有其他方法?
它应该是一个不需要来自Cygwin或任何其他非标准命令的触摸命令的方法。 该命令需要从脚本运行,因此不能使用击键。
如何在DOS/Windows命令行创建一个空文件?
我试着:
copy nul > file.txt
但是它总是显示文件被复制了。
在标准cmd中是否有其他方法?
它应该是一个不需要来自Cygwin或任何其他非标准命令的触摸命令的方法。 该命令需要从脚本运行,因此不能使用击键。
当前回答
输入nul > filename将创建一个新的空文件。
也复制null文件名工作没有重定向(更明显的解决方案)。
其他回答
你可以写你自己的触摸。
//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;
}
在Windows上
我试过这么做
echo off > fff1.txt
它创建了一个名为fff1.txt的文件,文件大小为0 KB。
除了这个命令之外,我没有发现任何可以创建空文件的命令。
注意:你必须在你想要创建文件的目录中。
试试这个:abc > myFile.txt 首先,它将在当前工作目录(在命令提示符中)创建一个名为myFile.txt的文件。然后它将运行命令abc,这是一个无效的命令。通过这种方式,您获得了一个名为myFile.txt的新空文件。
你还可以用:
echo. 2>foo
echo的调试输出。几乎肯定是空的。
. >> file.txt
>>将标准输出追加到文件中 . 仅仅是一个错误的命令传递空标准输出>>
然而,你会在CMD中看到标准错误的输出:
”。’不被认为是一个内部或外部命令,可操作 程序或批处理文件。
您可以通过将标准错误重定向到NUL来抑制此错误消息(如果您愿意)。
. >> file.txt 2> nul