题
有人记得使用 BAT 文件在 MSDOS 中创建空文件的命令是什么吗?
解决方案
echo. 2>EmptyFile.txt
其他提示
copy NUL EmptyFile.txtDOS有一些特殊文件(实际上是设备)存在于每个目录中,
NUL
相当于UNIX的 / dev / null
:它是一个神奇的文件,它是永远是空的,扔掉你写给它的任何东西。这是一些列表其他; 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
想法通过: 匿名的, 丹尼·巴克特, ,可能是其他人,我自己的灵感来自 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
笔记: 不 之间的空间 echo
, .
和 >
.
想法通过: 如何在批处理文件中回显换行符?
编辑 看起来 任何无效的 命令 重定向 到文件将创建一个空文件。呵呵,有特点!兼容性:未知的
TheInvisibleFeature <nul >EmptyFile.txt
0 字节文件:无效命令/具有随机名称 (兼容性:未知):
%RANDOM%-%TIME:~6,5% <nul >EmptyFile.txt
通过:伟大的 来源 随机由 Hung Huynh 提供
编辑2 安德烈·M 指出 通过无效命令实现这一目标可能是最有趣/最刺激的方法
0 字节文件:无效命令/时髦的方式 (兼容性:未知)
*>EmptyFile.txt
想法通过: 安德烈·M
0 字节文件第四种方式:
break > file.txt
REM。 &GT; 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
为空。
您还可以使用 SET
创建一个null byte
文件,如下所示
set x=x > EmptyFile.txt
或者,如果您不想创建额外的变量,请重新分配现有变量,如
set PROMPT=%PROMPT% > EmptyFile.txt
或者像这样:
set "PROMPT=%PROMPT%" > EmptyFile.txt
最简单的方法是:
<代码>回声。 &GT; FILENAME.TXT 代码>