有人能记住使用BAT文件在MS DOS中创建空文件的命令是什么?
echo. 2>EmptyFile.txt
您还可以使用SET
创建一个null byte
文件,如下所示
set x=x > EmptyFile.txt
或者,如果您不想创建额外的变量,请重新分配现有变量,例如
set PROMPT=%PROMPT% > EmptyFile.txt
或者像这样:
set "PROMPT=%PROMPT%" > EmptyFile.txt
最简单的方法是:
echo. > Filename.txt
copy NUL EmptyFile.txt
DOS有一些特殊的文件(实际上是设备)存在于每个目录中,NUL
相当于UNIX的/dev/null
:它是一个永远为空的魔法文件,并抛弃你写的任何东西。这是其他一些人的list; CON
偶尔也很有用。
为了避免任何输出,您可以使用
copy /y NUL EmptyFile.txt >NUL
/y
阻止copy
在输出到NUL
时提出一个你看不到的问题。
type NUL > EmptyFile.txt
在阅读了前两篇文章之后,这两者的融合就是我想出来的。看起来有点清洁。无需担心重定向“复制的1个文件”。发送给NUL
的消息,就像上一篇文章一样,它旁边的ECHO OutputLineFromLoop >> Emptyfile.txt
看起来很好,通常会在批处理文件中跟随。
我从其他答案中收集的技巧:
使0字节文件成为一种非常清晰,向后兼容的方式:
type nul >EmptyFile.txt
想法来自:anonymous,Danny Backett,可能是其他人,我自己受到JdeBP's work的启发
另一种方式是0字节文件,它是向后兼容的:
REM. >EmptyFile.txt
想法来自:Johannes
一个0字节文件第三种向后兼容的文件:
echo. 2>EmptyFile.txt
想法来自:TheSmurf
自Windows 2000以来系统方式probably可用的0字节文件:
fsutil file createnew EmptyFile.txt 0
想法来自:Emm
一个0字节的文件覆盖只读文件
ATTRIB -R filename.ext>NUL
(CD.>filename.ext)2>NUL
想法来自:copyitright
一个换行符(2个字节:0x0D 0x0A
中的hex notation,或者写为\r\n
):
echo.>AlmostEmptyFile.txt
注意:echo
,.
和>
之间没有空格。
想法来自:How can you echo a newline in batch files?
编辑似乎重定向到文件的任何无效命令都会创建一个空文件。嘿,一个功能!兼容性:未知
TheInvisibleFeature <nul >EmptyFile.txt
0字节文件:无效命令/具有随机名称(兼容性:未知):
%RANDOM%-%TIME:~6,5% <nul >EmptyFile.txt
来自:Hung Huynh随机的伟大source
编辑2 Andriy M points out可能是通过无效命令实现此目的最有趣/最令人激动的方式
0字节文件:无效命令/时髦方式(兼容性:未知)
*>EmptyFile.txt
想法来自:Andriy M
0字节文件第4种方式:
break > file.txt
想法来自:foxidrive感谢comment的Double Gras!
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"
您可以使用TYPE
命令而不是COPY
。试试这个:
TYPE File1.txt>File2.txt
File1.txt
空的地方。