Без перенаправления , Люк Ву или Эрик Константопулос точка 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
Кочевник упоминает оригинал :
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
В том же духе Самуил предлагает в комментариях :
самый короткий, который я использую, в основном, кочевой:
.>out.txt
выдает ошибку:
'.' is not recognized as an internal or external command
Но эта ошибка на stderr. И >
перенаправляет только стандартный вывод, где ничего не было произведено.
Отсюда и создание пустого файла. Сообщение об ошибке можно игнорировать здесь.
(Оригинальный ответ, ноябрь 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 должна указывать размер файла в 12 байтах: "hello world!
".