如何从batch file创build空的文本文件?
有人可以记住什么是使用BAT文件在MSDOS中创build一个空文件的命令?
echo. 2>EmptyFile.txt
复制NUL EmptyFile.txt
DOS在每个目录中都有一些特殊的文件(实际上是设备), NUL
等同于UNIX的/dev/null
:这是一个永远为空的魔法文件,并且抛弃任何你写的东西。 这是其他一些列表 。 CON
有时也是有用的。
为了避免有任何输出,你可以使用
复制/ y NUL EmptyFile.txt> NUL
/y
防止copy
提出输出到NUL
时看不到的问题。
type NUL > EmptyFile.txt
在阅读前两篇文章之后,我就想到了两者的融合。 它似乎有点干净。 没有必要担心redirect“1复制的文件”。 消息传递给NUL
,就像之前的文章一样,在ECHO OutputLineFromLoop >> Emptyfile.txt
旁边看起来不错,通常会在batch file中出现。
我从其他答案收集的技术:
使0字节的文件变得非常清晰,向后兼容:
type nul >EmptyFile.txt
想法通过: 匿名 , Danny Backett ,也许其他人,由JdeBP的工作启发
另外一个0字节的文件 ,它是向后兼容的:
REM. >EmptyFile.txt
想法通过: Johannes
一个0字节的文件也是第三种向后兼容的文件 :
echo. 2>EmptyFile.txt
想法通过: TheSmurf
一个0字节文件从Windows 2000以来大概可用的系统方式 :
fsutil file createnew EmptyFile.txt 0
想法通过: Emm
一个0字节的文件覆盖只读文件
ATTRIB -R filename.ext>NUL (CD.>filename.ext)2>NUL
想法通过: copyitright
一个换行符 (2个字节: hex表示法中的 0x0D 0x0A
,或者写成\r\n
):
echo.>AlmostEmptyFile.txt
注意: echo
之间没有空格.
和>
。
想法通过: 你怎么能在batch file中回显新行?
编辑似乎任何无效的命令redirect到一个文件将创build一个空文件。 嘿,一个function! 兼容性:不知道
TheInvisibleFeature <nul >EmptyFile.txt
一个0字节的文件:无效的命令/带有随机的名字 (兼容性:不知道):
%RANDOM%-%TIME:~6,5% <nul >EmptyFile.txt
通过:洪Huynh随机的伟大来源
编辑2 Andriy M 指出了通过无效的命令来实现这一点可能是最有趣/最挑衅的方式
一个0字节的文件:无效的命令/时髦的方式 (兼容性:未知)
*>EmptyFile.txt
想法通过: Andriy M
一个0字节的文件即将到来的方式 :
break > file.txt
想法通过: foxidrive感谢评论 双Gras !
REM。 > empty.file
如果有写入文件的可能性已经存在并且是只读的,请使用以下代码:
ATTRIB -R filename.ext CD.>filename.ext
如果没有文件存在,只需做:
CD.>filename.ext
禁止任何可能出现的错误:
ATTRIB -R filename.ext>NUL (CD.>filename.ext)2>NUL
fsutil file createnew file.cmd 0
再加上一本书 – 短而甜美的types。
break>file.txt break>"file with spaces in name.txt"
您可以使用TYPE
命令而不是COPY
。 尝试这个:
TYPE File1.txt>File2.txt
其中File1.txt
是空的。
您也可以使用SET
来创build一个空byte
文件,如下所示
set x=x > EmptyFile.txt
或者如果你不想创build一个额外的variables重新分配一个现有的variables
set PROMPT=%PROMPT% > EmptyFile.txt
或者像这样:
set "PROMPT=%PROMPT%" > EmptyFile.txt
最简单的方法是:
echo. > Filename.txt