如何从批处理文件创建空文本文件?

时间:2008-10-16 20:38:19

标签: batch-file cmd dos

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

13 个答案:

答案 0 :(得分:332)

copy NUL EmptyFile.txt

DOS在每个目录中都有一些特殊文件(实际上是设备),NUL相当于UNIX的/dev/null:它是一个永远为空的魔法文件,会抛弃你写的任何内容它。这是其他一些list; CON偶尔也会有用。

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

copy /y NUL EmptyFile.txt >NUL

/y阻止copy提出输出到NUL时无法看到的问题。

答案 1 :(得分:224)

echo. 2>EmptyFile.txt

答案 2 :(得分:173)

type NUL > EmptyFile.txt

在阅读了前两篇文章之后,这两者的混合就是我想出来的。看起来有点清洁。无需担心重定向“复制的1个文件”。发送到NUL的邮件,与之前的帖子一样,在ECHO OutputLineFromLoop >> Emptyfile.txt旁边看起来很好,通常会在批处理文件中显示。

答案 3 :(得分:56)

我从其他答案中收集的技巧:

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

type nul >EmptyFile.txt

想法来自:anonymousDanny Backett,可能是其他人,我的灵感来自于JdeBP's work

另一种0字节文件,它向后兼容:

REM. >EmptyFile.txt

想法来自:Johannes

0字节文件第3路也是向后兼容的:

echo. 2>EmptyFile.txt

想法来自:TheSmurf

从Windows 2000开始,系统方式的0字节文件 probably

fsutil file createnew EmptyFile.txt 0

想法来自:Emm

0字节文件覆盖只读文件

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

想法来自:copyitright

单个换行符hex notation中的2个字节:0x0D 0x0A,或者写为\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

via:great source随机由Hung Huynh

编辑2 Andriy M points out可能是通过无效命令实现此目的最有趣/最令人激动的方式

0字节文件:无效命令/时髦方式(兼容性:未知)

*>EmptyFile.txt

想法来自:Andriy M

0字节文件第4种方式

break > file.txt

通过foxidrive感谢commentDouble Gras

答案 4 :(得分:25)

REM。 &GT; empty.file

答案 5 :(得分:8)

如果要写入的文件可能已存在并且只读,请使用以下代码:

ATTRIB -R filename.ext
CD .>filename.ext

如果不存在文件,只需执行以下操作:

CD .>filename.ext

(根据DodgyCodeException的评论更新/更改了代码)

要抑制可能出现的任何错误:

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

答案 6 :(得分:7)

fsutil file createnew file.cmd 0

答案 7 :(得分:7)

另外还要增加一本书 - 短而甜的打字。

break>file.txt
break>"file with spaces in name.txt"

答案 8 :(得分:2)

您可以使用TYPE命令代替COPY。试试这个:

TYPE File1.txt>File2.txt

File1.txt为空。

答案 9 :(得分:1)

您还可以使用SET创建空byte文件,如下所示

set x=x > EmptyFile.txt

或者,如果您不想创建额外的变量,请重新分配现有变量,例如

set PROMPT=%PROMPT% > EmptyFile.txt

或者像这样:

set "PROMPT=%PROMPT%" > EmptyFile.txt

答案 10 :(得分:0)

最简单的方法是:

echo. > Filename.txt

答案 11 :(得分:0)

有无限的方法。

什么都不输出的命令:

break
cls
color
goto
pushd
popd
prompt
title

奇怪的命令:

CD.
REM.
@echo off
cmd /c
START >FILE

过时的print命令产生一个空白文件:

print /d:EMPTY_TEXT_FILE nul

答案 12 :(得分:-4)

重要提示:

如果不设置编码,许多软件可能会崩溃。 git是一个非常受欢迎的示例。

Set-Content "your_ignore_file.txt" .gitignore -Encoding utf8 这是区分大小写的,并强制进行utf8编码!