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


当前回答

我从其他人的回答中总结了一些技巧:

使一个0字节的文件非常清晰,向后兼容的方式:

type nul >EmptyFile.txt

想法来自:匿名,Danny Backett,可能还有其他人,我自己也受到了JdeBP工作的启发

另一种方式是0字节文件,它是向后兼容的:

REM. >EmptyFile.txt

想法来自:约翰内斯

一个0字节文件的第三种向后兼容方式:

echo. 2>EmptyFile.txt

创意来源:蓝精灵

系统方式的0字节文件可能在Windows 2000以后可用:

fsutil file createnew EmptyFile.txt 0

想法来源:嗯

一个0字节的文件覆盖只读文件

ATTRIB -R filename.ext>NUL
(CD.>filename.ext)2>NUL

创意来源:版权

单个换行符(2字节:十六进制表示的0x0D 0x0A,也可以写成\r\n):

echo.>AlmostEmptyFile.txt

注意:回声之间没有空格,。和>。

如何在批处理文件中回显换行符?


似乎任何无效的命令重定向到一个文件都会创建一个空文件。嘿,特写! 兼容性:uknown

TheInvisibleFeature <nul >EmptyFile.txt

一个0字节的文件:无效命令/随机名称(兼容:uknown):

%RANDOM%-%TIME:~6,5% <nul >EmptyFile.txt

via: Hung Huynh的随机来源

Andriy M指出了一种可能是最有趣/最刺激的方式来实现这一点,即通过无效命令

一个0字节的文件:无效命令/奇怪的方式(兼容性:未知)

*>EmptyFile.txt

创意来源:Andriy M

0字节文件第四步:

break > file.txt

感谢Double Gras的评论!

其他回答

echo. 2>EmptyFile.txt

最简单的方法是:

的回声。> Filename.txt

在书中又增加了一个——简短而甜蜜的字体。

break>file.txt
break>"file with spaces in name.txt"
copy NUL EmptyFile.txt

DOS在每个目录中都有一些特殊的文件(实际上是设备),NUL相当于UNIX的/dev/null:它是一个神奇的文件,总是空的,并丢弃您写入其中的任何内容。这里有一些其他的列表;CON有时也很有用。

为了避免任何输出,您可以使用

copy /y NUL EmptyFile.txt >NUL

/y防止copy问一个当输出转到NUL时你看不到的问题。

type NUL > EmptyFile.txt

在阅读了前两篇文章后,我想到了这两篇文章的结合。看起来干净一点。不需要担心重定向“1 file(s) copy .”消息到NUL,就像前一篇文章所做的那样,它看起来很漂亮,旁边的ECHO OutputLineFromLoop >> Emptyfile.txt通常会在批处理文件中。