如何从批处理文件中创建空文本文件?

282

有人能记得在MSDOS中使用BAT文件创建空文件的命令吗?


3
同样在https://dev59.com/wHI-5IYBdhLWcg3wu7FU上,“如何在命令行中创建一个空文件?” - Peter Mortensen
6
你不会混淆DOS和cmd.exe吧? - user unknown
请阅读:Set-Content "your_file.txt" .gitignore -Encoding utf8,这是区分大小写的,并强制使用UTF8编码!(我还将其发布为答案)。 - Wolfpack'08
这个回答解决了你的问题吗?如何在Windows命令行中创建一个空文件? - malat
13个回答

1
您可以使用SET命令来创建一个空的byte文件,方法如下。
set x=x > EmptyFile.txt

或者,如果你不想创建额外的变量,可以重新赋值一个已有的变量,例如:

set PROMPT=%PROMPT% > EmptyFile.txt

或者像这样:

或这样:

set "PROMPT=%PROMPT%" > EmptyFile.txt

-3

重要提示:

如果您不设置编码,许多软件可能会出现错误。git是一个非常流行的例子。

Set-Content "your_ignore_file.txt" .gitignore -Encoding utf8 这是区分大小写的,并强制使用utf8编码!


4
编码与创建“空”文件有什么关系?一个空的零字节文件不需要任何编码,而且用BOM(0字节)标记它是有技巧性的。 - jeb
@jeb 因为人们填充空文件,当被用作设置文件时,它们没有 UTF8 编码会产生错误。我想说的是,人们几乎总是填充文件而不会留空白,如果我稍后想要修改文件,我不会使用其他方法创建一个空白文件,因为我几乎总是想确保我的文件是 UTF8 编码。例如,在 GitHub 上的 .git 教程中,要求用户先创建一个空白文件再进行填充,而另一种方法则会创建一个具有奇怪 Windows 编码的文件。 - Wolfpack'08
2
@Wolfpack'08,文件编码并不存储在特殊属性或其他神秘的区域中,它只是通过其包含的数据来反映;如果没有数据,就不可能有编码... - aschipfl
@aschipfl 一个空文件必须包含一些数据。如果您创建一个空文件并明确标记为utf8,则在稍后填充文件后,该文件将正常工作;另一方面,如果您创建一个空文件并表面上允许默认编码(ASCII),则当您稍后填充文件时,它将破坏任何需要UT8编码的程序。我有第一手经验,任何人都可以测试。无论您多么难以置信,这是可以证明的,并且容忍经验性测试:我认为负面反馈完全没有根据,会损害此重要信息的可访问性。证明它。 - Wolfpack'08
1
一個空文件就是一個沒有任何數據內容的文件;否則,它不會是空的(即 0 字節)。您似乎正在使用一個版本控制工具(git),該工具為每個文件存儲一些元數據,包括其編碼方式。但是,空文件本身絕對不包含任何編碼設置,無論是在數據區域中(0 字節顯然不包含任何信息),還是在文件系統的文件表格中(FAT、NTFS 或其他任何您使用的格式)...... - aschipfl

-3
最简单的方法是:

echo. > Filename.txt


9
这将创建一个包含空格字符、回车符和换行符的文件,而不是空文件。 - Andriy M
值得看一下我的答案(下面),因为它改变了编码。 - Wolfpack'08

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