Без перенаправлення Люк Vu або Ерік Константопулос вказують поза до:
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
У тому ж дусі Самуель пропонує в коментарях :
найкоротший, який я використовую, в основному є Nomad:
.>out.txt
Це дає помилку:
'.' is not recognized as an internal or external command
Але ця помилка є на stderr. І >
тільки перенаправляє stdout, де нічого не було створено.
Звідси створення порожнього файлу. Повідомлення про помилку тут не враховується.
(Оригінальна відповідь, листопад 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!
».