Без перенаправления, Luc Vu или Эрик Константопулос point out в:
copy NUL EMptyFile.txt
copy /b NUL EmptyFile.txt
Как создать пустой текстовый файл из командного файла? (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
Nomad упоминает исходный < / а>:
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
В том же духе Самуэль предлагает в комментариях:
самый короткий, который я использую, в основном от Nomad:
.>out.txt
Выдает ошибку:
'.' is not recognized as an internal or external command
Но эта ошибка находится на stderr. И >
перенаправляет только stdout, где ничего не было создано.
Следовательно, создается пустой файл.
Здесь можно проигнорировать сообщение об ошибке. Или, как в Rain ответ, перенаправлен на NUL
:
.>out.txt 2>NUL
(Оригинальный ответ, ноябрь 2009 г.)
echo.>filename
(echo ""
фактически помещает в файл! И echo
без '.' Помещает Command ECHO activated
в файл ...)
Примечание: результирующий файл не пустой, но включает последовательность возвращаемой строки: 2 байта.
Это обсуждение указывает на истинное пакетное решение для реального пустого файла:
<nul (set/p z=) >filename
dir filename
11/09/2009 19:45 0 filename
1 file(s) 0 bytes
<nul
направляет nul
ответ на команду set/p
, в результате чего используемая переменная остается неизменной. Как обычно с set/p
, строка справа от знака равенства отображается как приглашение без CRLF.
Поскольку здесь строка справа от знака равенства пуста ... результат - пустой файл.
Разница с cd. > filename
(который упоминается в Ответ Патрика Каффа, который также создает файл длиной 0 байт) заключается в том, что этот бит перенаправления (трюк <nul...
) можно использовать для эхо-строк без каких-либо CR:
<nul (set/p z=hello) >out.txt
<nul (set/p z= world!) >>out.txt
dir out.txt
Команда dir
должна указывать размер файла как 11 байт: helloworld!
.
person
VonC
schedule
09.11.2009
cd > "filename.extension"
должен выполнить свою работу, напримерcd > file.txt
- person Mahesh Jamdade   schedule 02.06.2019