Tanpa redirection, Luc Vu atau Erik Konstantopoulos menunjuk keluar ke:
copy NUL EMptyFile.txt
copy /b NUL EmptyFile.txt
" Bagaimana cara membuat file teks kosong dari file batch? " (2008) juga menunjuk ke:
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 menyebutkan yang asli :
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
Dengan semangat yang sama, Samuel menyarankan dalam komentar :
yang terpendek yang saya gunakan pada dasarnya adalah yang oleh Nomad:
.>out.txt
Itu memang memberikan kesalahan:
'.' is not recognized as an internal or external command
Tapi kesalahan ini ada di stderr. Dan >
hanya pengalihan stdout, di mana tidak ada yang diproduksi.
Oleh karena itu pembuatan file kosong . Pesan kesalahan dapat diabaikan di sini.
(Jawaban asli, November 2009)
echo.>filename
( echo ""
sebenarnya akan memasukkan "" ke dalam file! Danecho
tanpa '.' akan memasukkan " Command ECHO activated
" ke file ...)
Catatan: file yang dihasilkan tidak kosong tetapi termasuk urutan baris kembali: 2 byte.
Diskusi ini menunjuk ke solusi batch yang benar untuk file kosong nyata :
<nul (set/p z=) >filename
dir filename
11/09/2009 19:45 0 filename
1 file(s) 0 bytes
The " <nul
" mem-pipe nul
respons ke set/p
perintah, yang akan menyebabkan variabel yang digunakan tetap tidak berubah. Seperti biasa dengan set/p
, string di sebelah kanan tanda sama ditampilkan sebagai prompt tanpa CRLF.
Karena di sini "string di sebelah kanan tanda sama dengan" kosong ... hasilnya adalah file kosong.
Perbedaannya dengan cd. > filename
(yang disebutkan dalam jawaban Patrick Cuff dan juga menghasilkan file dengan panjang 0 byte) adalah "bit redirection" ( <nul...
trik) ini dapat digunakan untuk menggemakan baris tanpa CR :
<nul (set/p z=hello) >out.txt
<nul (set/p z= world!) >>out.txt
dir out.txt
The dir
perintah harus menunjukkan ukuran file sebagai 11 byte: " helloworld!
".