谁能记得使用BAT文件在MSDOS中创建空文件的命令是什么?
cmd.exe
,是吗?
Set-Content "your_file.txt" .gitignore -Encoding utf8
这是区分大小写的,并强制进行utf8编码!(我也将其发布为答案)。
谁能记得使用BAT文件在MSDOS中创建空文件的命令是什么?
cmd.exe
,是吗?
Set-Content "your_file.txt" .gitignore -Encoding utf8
这是区分大小写的,并强制进行utf8编码!(我也将其发布为答案)。
Answers:
echo. 2>EmptyFile.txt
.
在echo.
echo 2
没有.
,控制台会读“ECHO处于关闭状态。” 使用echo. 2
有效地只显示一个换行符沉默控制台输出。
复制NUL EmptyFile.txt
DOS在每个目录中都有一些特殊文件(实际上是设备),NUL
相当于UNIX /dev/null
:它是一个魔术文件,始终为空,并丢弃您写入其中的所有内容。这是其他一些的清单。CON
偶尔也有用。
要完全避免任何输出,可以使用
复制/ y NUL EmptyFile.txt> NUL
/y
防止copy
询问输出到何时看不到的问题NUL
。
copy /Y NUL
命令时,可能会擦除现有内容。如果您习惯了Unix的touch
命令,那么这可能根本不是您所期望的。)type NUL >> emptyfile.txt
在这方面使用更安全。
CON
除了此答案中链接的内容之外,我没有找到有关的任何信息。有人可以分享一些阅读吗?
type NUL > EmptyFile.txt
在阅读了前两篇文章后,我想到了两者的融合。看起来有点干净。无需担心重定向“复制的1个文件”。消息NUL
,就像上一篇文章所做的那样,ECHO OutputLineFromLoop >> Emptyfile.txt
通常在批处理文件中后面的旁边看起来不错。
我从其他答案中收集的技术:
使0字节文件非常清晰,向后兼容:
type nul >EmptyFile.txt
想法通过:匿名,Danny Backett,可能还有其他人自己受JdeBP的工作启发
一个0字节的文件,换句话说,向后兼容:
REM. >EmptyFile.txt
想法通过:约翰内斯
0字节文件的第三种方式也是向后兼容的:
echo. 2>EmptyFile.txt
想法通过:TheSmurf
从Windows 2000开始,一个0字节的文件可能是系统可用的方式:
fsutil file createnew EmptyFile.txt 0
想法通过:Emm
0字节的文件将覆盖只读文件
ATTRIB -R filename.ext>NUL
(CD.>filename.ext)2>NUL
想法通过:copyitright
单个换行符(2个字节:0x0D 0x0A
以十六进制表示,或者写为\r\n
):
echo.>AlmostEmptyFile.txt
注意:没有之间的空间echo
,.
和>
。
想法通过:如何在批处理文件中回显换行符?
编辑似乎任何重定向到文件的无效命令都会创建一个空文件。嘿,一个功能!兼容性:未知
TheInvisibleFeature <nul >EmptyFile.txt
0字节的文件:无效命令/具有随机名称(兼容性:uknown):
%RANDOM%-%TIME:~6,5% <nul >EmptyFile.txt
通过:大源洪黄长发随机
编辑2 Andriy M 指出了通过无效命令来实现这一目标的最有趣/最发人深省的方式
0字节的文件:无效的命令/时髦的方式(兼容性:未知)
*>EmptyFile.txt
想法通过:Andriy M
0字节文件第4种进入方式:
break > file.txt
type nul ...
不type <nul ...
,其实。
NonExistentCommand <nul >EmptyFile.txt
,它起作用了
break > file.txt
道具foxidrive
>>
如果您需要“必须存在,但不应该被截断” ,大多数命令都可以使用(就像Unix touch
一样)
REM。>空文件
REM.
,则cmd将以“'rem”响应。不被识别为内部或外部命令,可操作程序或批处理文件。”
rem/
代替而不是rem.
解决该问题...
如果要写入的文件可能已经存在并且是只读的,请使用以下代码:
ATTRIB -R filename.ext
CD .>filename.ext
如果不存在文件,只需执行以下操作:
CD .>filename.ext
(根据DodgyCodeException的注释更新/更改的代码)
要抑制可能出现的任何错误:
ATTRIB -R filename.ext>NUL
(CD .>filename.ext)2>NUL
CD
当前目录中有一个名为(无扩展名)的文件,而您键入CD.
,则cmd将以“'CD”响应。不被识别为内部或外部命令,可操作程序或批处理文件。” 如果改用键入CD .
(点前有空格),它将起作用。
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
是空的。
type NUL>File2.txt
有无限的方法。
什么都不输出的命令:
break
cls
color
goto
pushd
popd
prompt
title
奇怪的命令:
CD.
REM.
@echo off
cmd /c
START >FILE
过时的print
命令将生成一个空白文件:
print /d:EMPTY_TEXT_FILE nul
最简单的方法是:
echo. > Filename.txt
重要:
如果不设置编码,许多软件可能会崩溃。git是一个非常受欢迎的示例。
Set-Content "your_ignore_file.txt" .gitignore -Encoding utf8
这是区分大小写的,并强制进行utf8编码!