โดยไม่ต้องเปลี่ยนเส้นทางลัควูหรือเอริค Konstantopoulos ชี้ ออกไปที่:
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 เท่านั้นซึ่งไม่มีการผลิตอะไรเลย
ดังนั้นการสร้างไฟล์เปล่า ข้อความแสดงข้อผิดพลาดสามารถถูกละเว้นได้ที่นี่
(คำตอบเดิมพฤศจิกายน 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
(ซึ่งถูกกล่าวถึงในคำตอบของ Patrick Cuffและยังผลิตไฟล์ความยาว 0 ไบต์) ก็คือ "บิตของการเปลี่ยนเส้นทาง" ( <nul...
เคล็ดลับ) นี้สามารถใช้เพื่อสะท้อนเส้นโดยไม่มี CR :
<nul (set/p z=hello) >out.txt
<nul (set/p z= world!) >>out.txt
dir out.txt
dir
คำสั่งควรระบุขนาดของไฟล์เป็น 11 ไบต์: " helloworld!
"