有人能记住使用BAT文件在MSDOS中创建空文件的命令是什么?
copy NUL EmptyFile.txt
DOS有一些特殊的文件(实际上是设备),它们存在于每个目录中,NUL
相当于UNIX /dev/null
:它是一个永远为空的魔术文件,会抛弃你写的任何东西.这是一些其他人的名单 ; CON
偶尔也很有用.
为了避免任何输出,您可以使用
copy /y NUL EmptyFile.txt >NUL
/y
阻止copy
提出输出时无法看到的问题NUL
.
echo. 2>EmptyFile.txt
type NUL > EmptyFile.txt
在阅读了前两篇文章之后,这两者的融合就是我想出来的.看起来有点清洁.无需担心重定向"复制的1个文件".消息NUL
,就像上一篇文章一样,它旁边ECHO OutputLineFromLoop >> Emptyfile.txt
通常会跟在批处理文件中看起来不错.
我从其他答案收集的技巧:
使0字节文件成为一种非常清晰,向后兼容的方式:
type nul >EmptyFile.txt
想法来自:匿名,Danny Backett,可能是其他人,我自己受到JdeBP工作的启发
另一种方式是0字节文件,它是向后兼容的:
REM. >EmptyFile.txt
想法来自:约翰内斯
一个0字节文件第三种向后兼容的文件:
echo. 2>EmptyFile.txt
想法来自:TheSmurf
自Windows 2000以来可能采用的系统方式的0字节文件:
fsutil file createnew EmptyFile.txt 0
想法来自:嗯
一个0字节的文件覆盖只读文件
ATTRIB -R filename.ext>NUL (CD.>filename.ext)2>NUL
想法来自:copyitright
单个换行(2个字节:0x0D 0x0A
在十六进制表示法,可替代地表示为\r\n
):
echo.>AlmostEmptyFile.txt
注意:没有之间的空间echo
,.
和>
.
想法通过:如何在批处理文件中回显换行符?
编辑似乎重定向到文件的任何无效命令都会创建一个空文件.嘿,一个功能!兼容性:未知
TheInvisibleFeatureEmptyFile.txt
0字节文件:无效命令/具有随机名称(兼容性:未知):
%RANDOM%-%TIME:~6,5%EmptyFile.txt
via:Hung Huynh的随机源代码
编辑2 Andriy M 指出了通过无效命令实现这一目标的最有趣/最令人激动的方法
0字节文件:无效命令/时髦方式(兼容性:未知)
*>EmptyFile.txt
想法来自:Andriy M.
0字节文件第4种方式:
break > file.txt
通过理念:foxidrive感谢评论的双重节!
REM.> empty.file
如果要写入的文件可能已存在且只读,请使用以下代码:
ATTRIB -R filename.ext CD .>filename.ext
如果没有文件,只需执行以下操作:
CD .>filename.ext
(根据DodgyCodeException的评论更新/更改了代码)
要抑制可能出现的任何错误:
ATTRIB -R filename.ext>NUL (CD .>filename.ext)2>NUL
fsutil file createnew file.cmd 0
还有一个要添加到书中 - 短而甜的打字.
break>file.txt break>"file with spaces in name.txt"