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

624
在DOS/Windows命令行中如何创建一个空文件?
我尝试了:
copy nul > file.txt

但它始终显示已复制某个文件。

标准cmd中是否有另一种方法?

应该有一种不需要来自Cygwin或任何其他非标准命令的touch命令的方法。 该命令需要从脚本运行,因此不能使用按键。


刚刚发现一个真正的批处理命令导致生成了一个空文件(0字节):我已更新了我的答案。 - VonC
4
请问需要翻译的内容是:"Duplicate: https://dev59.com/wXVC5IYBdhLWcg3wsTbv, "How to create empty text file from a batch file?". (But, IMHO, the answers are better here.)" ? - Peter Mortensen
是的,执行命令copy nul > file.txt会输出文本“1 file(s) copied.” 但并不会创建一个空文件。 - Ripon Al Wasim
6
对我而言,如果你不能用一个命令创建一个空白文件,这只是证明了MS-DOS很垃圾。 - Kellen Stuart
4
@KolobCanyon:当然可以,就像已经发布的答案一样。但是,您真的认为快速创建空文件应该是面向终端用户并需要在16K RAM中运行的操作系统的优先考虑因素吗?毕竟,在很少的一些特殊情况下,这并不是一件特别有用的事情。 - Harry Johnston
显示剩余3条评论
35个回答

1
echo. | set /p=>file

echo. 压制了 "Command ECHO activated" 的输出

| set /p= 防止换行(文件现在为 0 字节)


1
首先创建文件以使其存在:
echo . > myfile.txt

然后使用copy命令用空文件覆盖创建的文件:

copy /y nul myfile.txt

0

创建一个空文件,使用Windows PowerShell:

echo fileName.fileExtension
如果你想在记事本中打开:
nodepad fileName.fileExtension

-1

echo 是一个命令,它可以根据你传递的参数创建一个带有文本的文件。

例如,如果你想要创建一个名为 navin.txt 的文件,并在其中写入 Navin is a web developer

那么你可以这样做:echo "Navin is a web developer" > navin.txt

如果你想要创建一个完全空白的新文件,只需像这样留空字符串- echo "" > filename.txt"

一个新的文件将会被创建并包含给定的文本。


问题是关于创建一个空文件,而不是带有内容的文件。使用 echo 无法创建空文件。 - jeb
可以使用echo命令创建一个空文件。我已经相应地编辑了答案。 - dev.sochokuchnaya.com
它仍然不是空的echo ""会创建一个包含两个双引号和\r\n的文件。即使在Linux上,使用sh或bash也会创建一个带有一个字节\n的文件。 - jeb
你可以使用echo命令和其他附加命令来创建一个零字节文件 -- echo: | tr -d '\r\n' | findstr /v "^$" > C:\zerobyte_file.txt。只添加tr -d '\r\n'findstr /v "^$"会创建一个一字节或三字节的文件。 - noni

-1
以管理员身份运行CMD,然后输入以下内容:
NUL > file_name.extention

或者你可以输入这个

echo .> file_name.extention

或者

echo .

为什么管理员模式是必要的(这不是一个修辞问题)?请通过编辑您的答案来回答,而不是在评论中回答。 - Peter Mortensen
"echo ." 命令会创建一个包含 3 个字节、一个点和 CRLF 的文件,这不是一个空文件。"NUL" 不是一个命令,它会显示一个错误消息或者在新的 Win10 中弹出一个弹窗消息。 - jeb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接