Cara mengarahkan stderr ke null di cmd.exe


122

Saya memiliki aplikasi yang mencatat banyak suara ke stderr dan BENAR-BENAR memperlambat eksekusi aplikasi. Saya ingin mengarahkan keluaran itu ke null. Apakah ini mungkin dengan cmd.exe?


23
seperti ini: perintah 2> nul
Naytzyrhc

3
Bisakah Anda menjelaskannya sebagai jawaban. Ini bekerja dengan baik!
Ignacio Soler Garcia

2
Lihat juga di superuser: > / dev / null untuk Windows
hippietrail

Saya Anda ingin membungkam sepenuhnya perintah (stdout dan stderr) lakukan@command > nul 2>&1
kofifus

Jawaban:


171
Your DOS command 2> nul

Baca halaman Menggunakan operator pengalihan perintah . Selain konstruksi "2>" yang disebutkan oleh Tanuki Software, ini mencantumkan beberapa kombinasi berguna lainnya.


1
Namun, mengikuti ini akan melakukan kebalikan dari apa yang diharapkan beberapa orang copy foo.txt con >> bar 2>nul. bar akan berisi teks yang disalin satu file dan konsol akan berisi konten foo.txt .
Patrick Fromberg

1
@Mawg Saya rasa tidak. Ini mungkin sesuatu yang spesifik untuk skenario penggunaan Anda. Contoh kasus: @for /L %C in (1,1,10) do @type nonexistent 2> nultidak tidak menghasilkan baris kosong sepuluh.
atzz

2
@PatrickFromberg Itu karena conbukan sinonim untuk STDOUT; ini adalah pseudofile yang terkait dengan konsol sebenarnya, jadi tidak terpengaruh oleh pengalihan. Agak mirip dengan Linuxish (cat /proc/version > /dev/tty) > bar: pengalihan luar tidak akan memengaruhi bagian dalam.
atzz

1
@SamHabiel Tidak juga. Pertanyaannya tentang stderr.
atzz

3
Halaman yang direferensikan
melegalkan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.