如何在DOS/Windows命令行创建一个空文件?
我试着:
copy nul > file.txt
但是它总是显示文件被复制了。
在标准cmd中是否有其他方法?
它应该是一个不需要来自Cygwin或任何其他非标准命令的触摸命令的方法。 该命令需要从脚本运行,因此不能使用击键。
如何在DOS/Windows命令行创建一个空文件?
我试着:
copy nul > file.txt
但是它总是显示文件被复制了。
在标准cmd中是否有其他方法?
它应该是一个不需要来自Cygwin或任何其他非标准命令的触摸命令的方法。 该命令需要从脚本运行,因此不能使用击键。
当前回答
你可以写你自己的触摸。
//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;
}
其他回答
您可以使用旧命令
copy con file_name.ext
不要打任何东西。按F6保存即可。然而,它会打印“文件复制”,但当你打开文件时,它将是空的。
echo "" > filename
我相信这适用于Windows/DOS,但我最后一次使用这两种操作都是很久以前的事了。我确实知道一个事实,它基本上适用于任何POSIX兼容的操作系统。
在Windows命令行中,一种方法是使用fsutil:
fsutil file createnew <filename> <size>
一个例子:
fsutil file createnew myEmptyFile.txt 0
下面是*nix命令行。
touch filename
此命令更改文件的修改日期,如果找不到文件,则创建该文件。
在管理员模式下运行CMD,输入以下内容:
NUL > file_name.extention
或者输入这个
echo .> file_name.extention
. >> file.txt
>>将标准输出追加到文件中 . 仅仅是一个错误的命令传递空标准输出>>
然而,你会在CMD中看到标准错误的输出:
”。’不被认为是一个内部或外部命令,可操作 程序或批处理文件。
您可以通过将标准错误重定向到NUL来抑制此错误消息(如果您愿意)。
. >> file.txt 2> nul