如何在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;
}
其他回答
试试这个:
echo $null >> filename
参见:相当于Linux触摸创建一个空文件与PowerShell
这对我很有效,
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命令。
还有另一种方法:
cd . > filename
创建一个空文件
'' > newfile.txt
导航到目录并在PowerShell窗口中键入上述命令。
注意,这在Windows命令提示符上不起作用。
echo "" > filename
我相信这适用于Windows/DOS,但我最后一次使用这两种操作都是很久以前的事了。我确实知道一个事实,它基本上适用于任何POSIX兼容的操作系统。