Windows: mengarahkan ulang stdout dan stderror ke nol

33

Saya memiliki perintah yang saya jalankan menghasilkan satu ton output, saya ingin membungkam output tanpa menulis ke file. Saya telah menggunakan yang berikut ini untuk mengirim semua output ke file, tetapi sekali lagi saya tidak ingin output file:

command > out.txt 2>&1

Saya telah menggunakan command > /dev/nullkotak CentOS saya sebelumnya, tetapi saya tidak dapat menemukan hal serupa untuk windows.

Alec Gorge
sumber
Saya harap Anda menggunakan command > /dev/nullCentOS Anda.
Kurt Pfeifle
@pipitas apa pun yang saya lakukan berhasil: D
Alec Gorge
Jika Anda memang menggunakan command > /bin/nullCentOS, Anda telah membuat file file umum yang dinamai /bin/nullpada sistem Anda. Anda mungkin berkata 'Itu berhasil!' , jika kamu mau. File ini sekarang berisi stdout dan stderr output Anda command. Biasanya, di /bin/sana hanya ada file yang dapat dieksekusi. Dan biasanya, hanya pengguna root yang diizinkan membuat file di sana. Jadi jika file itu ada di sana, Anda menjalankan perintah Anda sebagai pengguna root ... /bin/nullbiasanya tidak ada - dan /dev/null(yang saya sebutkan) biasanya digunakan sebagai 'seluruh hitam' di mana output yang tidak diinginkan harus menghilang di ...
Kurt Pfeifle
Poin bagusnya, aku tidak memikirkan itu. Namun, saya cukup yakin itu hanya memori saya yang salah karena saya menggunakan Windows saat itu.
Alec Gorge

Jawaban:

47

Kamu ingin command > nul 2>&1.

Jed Daniels
sumber
Terima kasih! itu bekerja. Saya perlu menunggu 12 menit untuk menerima jawabannya (persyaratan serverfault)!
Alec Gorge
7
Ini hanya mengalihkan stdout. Anda juga perlu > nul 2>&1atau 2> nuluntuk membunuh stderr.
grawity
Ya saya tahu itu, tetapi terima kasih telah menyebutkannya untuk orang lain yang mengunjungi pertanyaan ini!
Alec Gorge
hanya untuk menambahkan, saya mendapatkan izin ditolak kesalahan saat menggunakan: sudo hostname -f 2> nul sedangkan perintah berikut bekerja dengan baik: sudo hostname -f 2> / dev / null Bagi mereka yang kehabisan masalah izin saat menggunakan nul
Ranvir
1
@AminM nuladalah kata kunci khusus Windows untuk output nol (yaitu, buang output). Pada sistem berbasis * nix (seperti yang dirujuk oleh Ranvir) mereka malah menggunakan file khusus /dev/null. The >berarti "redirect" (dan 2>berarti mengarahkan penyangga 2 - yang merupakan output error)
Doktor J
3

Kamu ingin command > null 2>&1

nulhanya bekerja di command prompt sedangkan nullbekerja di PowerShell

Null dapat digunakan di dan cmd.exe untuk kompatibilitas tetapi membuat file bernama null.

AirCombat
sumber
3
Prompt Perintah adalah cmd.exe. '> null' membuat file bernama 'null' dengan apa pun yang Anda arahkan ke dalamnya dari cmd.exe dan dari PowerShell.
Tn. Smythe
Saya tidak tahu. Mengedit jawaban saya dengan baik.
AirCombat