How to create an empty file at the command line in Windows?
如何在DOS/Windows命令行中创建空文件?
我试过:
1 | copy nul > file.txt |
但它始终显示文件已被复制。
标准命令中还有其他方法吗?
它应该是一种不需要Cygwin或任何其他非标准命令的触摸命令的方法。该命令需要从脚本运行,因此不能使用击键。
在没有重定向的情况下,Luc Vu或Erik Konstantopoulos指出:
1 2 | copy NUL EMptyFile.txt copy /b NUL EmptyFile.txt |
"如何从批处理文件创建空文本文件?"(2008)还指出:
1 2 3 4 5 6 | type NUL > EmptyFile.txt # also echo. 2>EmptyFile.txt copy nul file.txt > nul # also in qid's answer below REM. > empty.file fsutil file createnew file.cmd 0 # to create a file on a mapped drive |
Nomad提到了一个原版:
1 2 3 4 5 6 7 8 9 10 | C:\Users\VonC\prog\tests>aaaa > empty_file 'aaaa' is not recognized as an internal or external command, operable program or batch file. C:\Users\VonC\prog\tests>dir Folder C:\Users\VonC\prog\tests 27/11/2013 10:40 <REP> . 27/11/2013 10:40 <REP> .. 27/11/2013 10:40 0 empty_file |
同样,塞缪尔在评论中建议:
the shortest one I use is basically the one by Nomad:
1 | .>out.txt |
它确实会给出一个错误:
1 | '.' is not recognized as an internal or external command |
但此错误在stderr上。而
(原始答案,2009年11月)
1 | echo.>filename |
(
注意:结果文件不是空的,但包含一个返回行序列:2字节。
此讨论指向真正空文件的真正批处理解决方案:
1 2 3 4 5 | <nul (set/p z=) >filename dir filename 11/09/2009 19:45 0 filename 1 file(s) 0 bytes |
The"
" pipes a nul response to theset/p command, which will cause the
variable used to remain unchanged. As usual withset/p , the string to the
right of the equal sign is displayed as a prompt with no CRLF.
因为这里的"等号右边的字符串"是空的…结果是一个空文件。
与
1 2 3 | <nul (set/p z=hello) >out.txt <nul (set/p z= world!) >>out.txt dir out.txt |
The dir command should indicate the file size as 12 bytes:"
hello world! ".
试试这个:
1 | type NUL > 1.txt |
这肯定会创建一个空文件。
另一种方法是:
1 | cd. > filename |
如果你真的想要一个完全空的文件,没有任何输出到stdout,你可以欺骗一点:
1 | copy nul file.txt > nul |
只需将stdout重定向到nul,copy的输出就会消失。
打开文件:
1 | type file.txt |
新文件:
1 2 3 | Way 1 : type nul > file.txt Way 2 : echo This is a sample text file > sample.txt Way 3 : notepad myfile.txt [cc] |
编辑内容:
1 | notepad file.txt |
拷贝
1 | copy file1.txt file1Copy.txt |
重命名
1 | rename file1.txt file1_rename.txt |
删除文件:
1 | del file.txt |
读了我的帖子上的评论,我不得不承认我没有正确地阅读这个问题。
在Windows命令行上,一种方法是使用fsutil:
1 | fsutil file createnew <filename> <size> |
一个例子:
1 | fsutil file createnew myEmptyFile.txt 0 |
下面是*nix命令行。
1 | touch filename |
此命令更改文件的修改日期,或者在找不到文件时创建该文件。
1 | echo""> filename |
我相信这在windows/dos上是可行的,但我最后一次亲身体验是在很久以前。我知道,它基本上适用于任何符合POSIX的操作系统。
1 | call>file.txt |
这是我所知道的最干净的方法。
你可以自己写。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //touch.cpp #include <fstream> #include <iostream> int main(int argc, char ** argv;) { if(argc !=2) { std::cerr <<"Must supply a filename as argument" << endl; return 1; } std::ofstream foo(argv[1]); foo.close(); return 0; } |
1 | cd > filename.cfg |
在c:/program文件中创建文件时工作,您没有直接创建文件的权限。
复制con somefile.txt enter
Ctrl Zakbd enter
试试这个:
另一种创建零字节文件的方法是:
1 | break >"file.txt" |
在命令提示中使用
1 | P:\excecise> copy > Sample.txt |
更新:另外,
您可以使用旧命令
1 | copy con file_name.ext |
不要键入任何内容,只需按F6保存,但它将打印"文件已复制",但打开文件时,它将为空。
您还可以使用:
1 | echo. 2>foo |
另一种方式:
1 | copy nul 2>empty_file.txt |
这样您就可以创建一个空文件
1 | '' > newfile.txt |
导航到目录并在PowerShell窗口中键入上述命令。
注意:这在Windows命令提示下不起作用。
在Windows上我试过这么做
1 | echo off > fff1.txt |
创建了一个文件名为fff1.txt,文件大小为0kb
除此之外,我没有找到任何可以创建空文件的命令。
Note: You have to be in the directory you wish to create the file.
这对我很有用,
1 | echo > file.extension |
这是我今天发现的另一种方法,从其他答案中获得想法,但它奏效了。
1 | sometext > filename.extension |
如。
1 2 | xyz > emptyfile.txt //this would create an empty zero byte text file abc > filename.mp4 //this would create an zero byte MP4 video media file |
这将在命令提示符中显示一条错误消息,
但奇怪的是,即使该命令不是标准的Windows命令,该文件仍在目录中创建。
只是我在窗户里试过了
1 | copy con file.txt |
然后按enter键,然后按ctrl+zakbd enter
这对我很有用。
对于Ubuntu,我通常使用vi命令创建一个文件
1 | vi file.txt |
它将打开文件,然后按esc键,然后键入:wp,然后按enter键。它将创建一个包含空数据的新文件。
- 创建一个包含内容
echo '' > %1 的BAT文件。(将文件命名为touch.bat) - 将文件夹添加到路径变量。
- 您可以使用触摸创建文件。(例如:
touch temp.txt 创建temp.txt文件)
有关详细信息,请参阅本文。
试试这个:
1 | echo $null >> filename |
超级用户
我读了很多线,但这不是最短的路。
请使用命令:
在admissrator模式下运行cmd并键入:
1 | NUL > file_name.extention |
或者你打这个
1 | echo .> file_name.extention |
今天我发现了一个新的:)
这将更改命令行窗口标题,但也将创建一个空文件。
1 | title > file.txt |
还有另一种方法:
1 | rem/ > file.ext |
斜线
对于创建任何类型的文件,可以使用以下代码
键入nul>(文件名)。(文件类型)
如果你想创建一个文本文件,那么
type nul > demo.txt
如果您想创建一个javascript文件,那么
type nul > demo.js
作为Windows上的VIM用户,我在这个问题线程中找不到答案。
作为此线程的解决方案,请首先安装GVIM。在安装过程中,请记住选中"为命令行使用创建.bat文件"选项,如下所示。
一些BAT文件(如vim.bat和gvim.bat)将安装在C:windows下。如果没有完成,请将C:windows添加到系统路径。
重新启动cmd.exe并键入
希望这个答案可以帮助那些想在创建空文件时从Windows命令提示符启动vim的人。
1 | echo.|set /p=>file |
首先创建文件,使其存在:
1 | echo . > myfile.txt |
然后使用
1 | copy /y nul myfile.txt |