如何在Windows的命令行创build一个空文件?

如何在DOS / Windows命令行中创build一个空文件?

我试过了:

copy nul > file.txt 

但它总是显示文件被复制。

标准cmd中是否还有其他方法?

它应该是一个不需要Cygwin的触摸命令或任何其他非标准命令的方法。 该命令需要从脚本运行,因此不能使用击键。

Luc Vu或Erik Konstantopoulos 指出 : 如果没有redirect,

 copy NUL EMptyFile.txt copy /b NUL EmptyFile.txt 

“ 如何从batch file创build空文本文件? ”(2008)也指出:

 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 

游牧民提到一个原始的 :

 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 

塞缪尔本着同样的精神在评论中build议:

我使用的最短的一个基本上是游牧民族的那个:

 .>out.txt 

它确实给了一个错误:

 '.' is not recognized as an internal or external command 

但是这个错误是在stderr上。 并且>只redirect标准输出, 没有任何产生。
因此创build一个文件。 错误信息在这里可以忽略。


(原文,2009年11月)

 echo.>filename 

echo ""实际上会把“”放在文件中!而echo没有“。”会把“ Command ECHO activated ”放在文件中…)

注意:结果文件不是空的,但包含一个返回行序列:2个字节。


这个讨论指向一个真正的文件的批处理解决scheme:

  <nul (set/pz=) >filename dir filename 11/09/2009 19:45 0 filename 1 file(s) 0 bytes 

<nul ”pipe道响应set/p命令,这将导致所使用的variables保持不变。 像往常一样使用set/p ,等号右边的string显示为没有CRLF的提示。

由于这里的“等号右边的string”是空的,结果是一个空文件。


cd. > filename的区别cd. > filename cd. > filename (在Patrick Cuff的答案中提到,也产生一个0字节长的文件)是这个“redirect位”( <nul... trick)可以用来回显没有任何CR的行

 <nul (set/pz=hello) >out.txt <nul (set/pz= world!) >>out.txt dir out.txt 

dir命令应该将文件大小指定为12个字节:“ hello world! ”。

尝试这个:

 type NUL > 1.txt 

这肯定会创build一个空文件。

如果你真的想要一个完全空的文件,没有任何输出到标准输出,你可以作弊一点:

 copy nul file.txt > nul 

只是将stdoutredirect到nul,并且副本的输出消失。

这是另一种方式:

 cd. > filename 

打开文件 :

 type file.txt 

新文件 :

 Way 1 : type nul > file.txt Way 2 : echo This is a sample text file > sample.txt Way 3 : notepad myfile.txt <press enter> 

编辑内容:

 notepad file.txt 

复制

 copy file1.txt file1Copy.txt 

改名

 rename file1.txt file1_rename.txt 

删除文件 :

 del file.txt 

阅读我的post上的评论,我不得不承认我没有读到正确的问题。

在Windows命令行上,一种方法是使用fsutil :

 fsutil file createnew <filename> <size> 

一个例子:

 fsutil file createnew myEmptyFile.txt 0 

下面是* nix命令行。

 touch filename 

这个命令改变文件的修改date,或者如果找不到文件则创build它。

 echo "" > filename 

我相信这可以在Windows / DOS上运行,但是我最后一次的实际操作经验也是不久前的。 我知道一个事实,它基本上适用于任何POSIX兼容的操作系统。

 call>file.txt 

这是我知道的最清洁的方式。

你可以写自己的触摸。

 //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; } 

复制con SomeFile.txt input

Ctrl-Z input

试试这个: abc > myFile.txt首先,它将在当前工作目录(在命令提示符下)中创build一个名为myFile.txt的文件。 然后它会运行命令abc这不是一个有效的命令。 这样,您就得到了一个名为myFile.txt的新文件。

另一种创build零字节文件的方法是:

 break > "file.txt" 

你也可以使用:

 echo. 2>foo 

echo.的debugging输出echo. 几乎肯定是空的。

type nul>filename将创build一个新的空文件。

不好意思我迟到了。

更新 :也copy nul filename工程不redirect(更明显的解决scheme)。

我读了很多线索,但并不是最短的路线。

请使用命令:

>copy /b NUL empty_file.txt

今天我发现了一个新的:)

这将改变命令行窗口标题,但也会创build一个空文件。

 title > file.txt 

这对我有用,

 echo > file.extension 

这是我今天发现的另一种方式,从其他答案得到的想法,但它的工作

 sometext > filename.extension 

例如。

 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 

这将在命令提示符中显示一条错误消息,

xyz不是作为内部或外部命令,可操作的程序或batch file。

但我发现奇怪的是,即使命令不是一个标准的Windows命令,目录中创build的文件。

只是我已经尝试在Windows中

 copy con file.txt 

然后按Enter键然后按Ctrl + Z Enter

它为我工作。

对于Ubuntu通常我使用VI命令创build一个文件

 vi file.txt 

它将打开文件,然后按ESC键,然后键入:wp然后按回车键。 它将创build一个空数据的新文件。

在命令提示符中使用copy > your_file_name.extension

 P:\excecise> copy > Sample.txt 

另一种方式:

 copy nul 2>empty_file.txt 

首先创build你的文件,使其存在:

 echo . > myfile.txt 

然后使用copy命令用空的版本覆盖创build的文件:

 copy /y nul myfile.txt 
 echo.|set /p=>file 

echo. 压制“命令ECHO激活”

|set /p=防止换行(文件现在是0字节)

以admistrator模式运行CMD并input:

 NUL > file_name.extention 

或者你input这个

 echo .> file_name.extention 

这是另一种方式:

 rem/ > file.ext 

斜线/是强制性的; 没有它的redirect部分被rem注释掉了。

尝试这个:

 echo $null >> filename 

见: 超级用户

作为Windows上的VIM用户,我在这个问题线程中找不到答案。

作为这个线程的解决scheme,请先安装gvim 。
在安装过程中,请记住检查选项“Create .bat files for command line use”,如下所示。

在这里输入图像说明

一些蝙蝠文件,如vim.bat和gvim.bat将安装在C:\ Windows下 。 如果未完成,请将C:\ Windows添加到系统path中

重新启动cmd.exe并键入gvim empty_file.txt ,您将启动gvim从头编辑空文件。 如果您不想离开“命令提示符”控制台,请改为inputvim empty_file.txt

希望这个答案可以帮助那些想在Windows命令提示符下创build一个空文件时启动VIM的人。

在Windows上,我试着这样做

 echo off > fff1.txt 

并创build了一个名为fff1.txt的文件,大小为0kb

除此之外,我没有发现任何可以创build空文件的命令。

注意:您必须位于您想要创build文件的目录中。