Cách chuyển hướng stderr thành null trong cmd.exe


122

Tôi có một ứng dụng ghi rất nhiều tiếng ồn vào trình viết thư và THỰC SỰ làm chậm quá trình thực thi của ứng dụng. Tôi muốn chuyển hướng đầu ra đó thành null. Điều này có thể xảy ra với cmd.exe?


23
như thế này: command 2> nul
Naytzyrhc

3
Bạn có thể đặt nó như một câu trả lời. Nó hoạt động tuyệt vời!
Ignacio Soler Garcia

2
Xem thêm trên superuser: > / dev / null cho Windows
hippietrail

Tôi bạn muốn hoàn toàn tắt tiếng một lệnh (stdout và stderr) làm@command > nul 2>&1
kofifus

Câu trả lời:


171
Your DOS command 2> nul

Đọc trang Sử dụng các toán tử chuyển hướng lệnh . Bên cạnh cấu trúc "2>" mà Tanuki Software đã đề cập, nó còn liệt kê một số kết hợp hữu ích khác.


1
Tuy nhiên sau đây sẽ làm gần như ngược lại với những gì một số có thể mong đợi copy foo.txt con >> bar 2>nul. thanh sẽ chứa văn bản mà một (các) tệp đã được sao chép và bảng điều khiển sẽ giữ nguyên nội dung của foo.txt .
Patrick Fromberg

1
@Mawg Tôi không nghĩ là có. Nó có thể là một cái gì đó cụ thể cho kịch bản sử dụng của bạn. Trường hợp tại điểm: @for /L %C in (1,1,10) do @type nonexistent 2> nulkhông không sản xuất dòng trống mười.
atzz

2
@PatrickFromberg Đó là vì conkhông phải là từ đồng nghĩa với STDOUT; đó là một tệp giả được liên kết với bảng điều khiển thực, vì vậy nó không bị ảnh hưởng bởi chuyển hướng. Hơi giống với Linuxish (cat /proc/version > /dev/tty) > bar: chuyển hướng bên ngoài sẽ không ảnh hưởng đến chuyển hướng bên trong.
atzz

1
@SamHabiel Không hẳn. Câu hỏi là về stderr.
atzz

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.