Without redirection, Luc Vu or Erik Konstantopoulos point out to:
copy NUL EMptyFile.txt
copy /b NUL EmptyFile.txt
“How to create empty text file from a batch file?” (2008) also points to:
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 mentions an original one:
C:UsersVonCprogtests>aaaa > empty_file
‘aaaa’ is not recognized as an internal or external command, operable program or batch file.
C:UsersVonCprogtests>dir
Folder C:UsersVonCprogtests
27/11/2013 10:40
27/11/2013 10:40
27/11/2013 10:40 0 empty_file
In the same spirit, Samuel suggests in the comments:
the shortest one I use is basically the one by Nomad:
.>out.txt
It does give an error:
‘.’ is not recognized as an internal or external command
But this error is on stderr. And > only redirects stdout, where nothing have been produced.
Hence the creation of an empty file.
The error message can be disregarded here. Or, as in Rain’s answer, redirected to NUL:
.>out.txt 2>NUL
(Original answer, November 2009)
echo.>filename
(echo “” would actually put “” in the file! And echo without the ‘.’ would put “Command ECHO activated” in the file…)
Note: the resulting file is not empty but includes a return line sequence: 2 bytes.
This discussion points to a true batch solution for a real empty file:
dir filename
11/09/2009 19:45 0 filename
1 file(s) 0 bytes
The “
dir out.txt
The dir command should indicate the file size as 11 bytes: “helloworld!”.
Try this:
type NUL > 1.txt
this will definitely create an empty file.