有人记得在MSDOS中使用BAT文件创建空文件的命令是什么吗?
当前回答
如果有可能要写入的文件已经存在并且是只读的,请使用以下代码:
ATTRIB -R filename.ext
CD .>filename.ext
如果不存在文件,只需执行:
CD .>filename.ext
(根据DodgyCodeException的注释更新/更改代码)
抑制可能出现的任何错误:
ATTRIB -R filename.ext>NUL
(CD .>filename.ext)2>NUL
其他回答
如果有可能要写入的文件已经存在并且是只读的,请使用以下代码:
ATTRIB -R filename.ext
CD .>filename.ext
如果不存在文件,只需执行:
CD .>filename.ext
(根据DodgyCodeException的注释更新/更改代码)
抑制可能出现的任何错误:
ATTRIB -R filename.ext>NUL
(CD .>filename.ext)2>NUL
可以使用TYPE命令而不是COPY命令。试试这个:
TYPE File1.txt>File2.txt
其中File1.txt为空。
您也可以使用SET来创建一个空字节文件,如下所示
set x=x > EmptyFile.txt
或者如果你不想创建一个额外的变量,重新分配一个现有的变量,比如
set PROMPT=%PROMPT% > EmptyFile.txt
或者像这样:
set "PROMPT=%PROMPT%" > EmptyFile.txt
copy NUL EmptyFile.txt
DOS在每个目录中都有一些特殊的文件(实际上是设备),NUL相当于UNIX的/dev/null:它是一个神奇的文件,总是空的,并丢弃您写入其中的任何内容。这里有一些其他的列表;CON有时也很有用。
为了避免任何输出,您可以使用
copy /y NUL EmptyFile.txt >NUL
/y防止copy问一个当输出转到NUL时你看不到的问题。
type NUL > EmptyFile.txt
在阅读了前两篇文章后,我想到了这两篇文章的结合。看起来干净一点。不需要担心重定向“1 file(s) copy .”消息到NUL,就像前一篇文章所做的那样,它看起来很漂亮,旁边的ECHO OutputLineFromLoop >> Emptyfile.txt通常会在批处理文件中。
推荐文章
- 如何使用Windows命令行更改目录
- 如何使用批处理文件写入文本文件?
- Windows批处理文件的隐藏特性
- DOS中的递归目录列表
- 在Windows批处理脚本中格式化日期和时间
- 如何在windows中使用命令提示符(cmd)列出文件。我试过在Linux中使用“ls”,但它显示一个错误?
- BAT文件执行后保持CMD打开
- 如何在命令提示符中使用空格?
- 如何从批处理文件运行PowerShell脚本
- 如何自动提升批处理文件,以便在需要时请求UAC管理员权限?
- 批处理文件:查找子字符串是否在字符串中(不是在文件中)
- “npm config set registry https://registry.npmjs.org/”在Windows bat文件中不工作
- 如何从批处理文件创建空文本文件?
- cmd /C是什么意思?
- Windows批处理:无新行回显