批处理文件中的ECHO .>是什么意思?

4

我有一个批处理文件,其中包含以下代码:

ECHO .> C:\file.txt

我了解了ECHO的作用,但我不知道语句中echo后面使用的字符(.>)以及文件路径的作用。


下面的答案是正确的,但我从未使用过句点来覆盖文件,因为文件的第一行可能不应该是句点。但是我经常使用echo在命令窗口/提示符中创建新行。这对于格式化很有用。 - UnhandledExcepSean
1
@SpectralGhost: 是的。echo. 可以写入一行空白。将其重定向至文件,你会得到一个空文件(确切地说是包含 <CR><LF>,即“空行”的内容)。我认为,在问题中 echo. 之间的空格是一种转录错误,因为单个点在文件中通常没有意义。 - Stephan
是的,我之前用过它来在我的脚本中创建换行。不过,我是按照提问者的话来做的。 :) - UnhandledExcepSean
请注意,纯粹的“新行”需要使用echo.而不带空格。 - i486
2个回答

5

它用于截断文件或在必要时创建文件。 echo . 输出一行文本,将其重定向到文件中,有效地截断文件。
为了获得一个完全空的文件,我经常使用 cd . > filename。我不知道我从哪里学到了这个方法,但在UNIX系统上已经存在很长时间了。


1
非常正确。回答已更新(是的,一年半之后):) - kronenpj

2

>是将前一个命令的输出重定向。

echo .>c:\file.txt会将一个点打印到c:\file.txt文件中,覆盖其中的内容(所以之后它只包含一个点)

我认为你弄错了。通常使用echo.>file.txt来创建空文件(或删除内容,如果文件已存在)。 (请注意缺少空格)


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