Làm thế nào để chụp đầu ra shell vào tập tin văn bản?


4

Trong linux tôi có thể gõ echo "hello" >& text.output và nhận đầu ra văn bản trong một tập tin.

Làm thế nào tôi có thể có được loại đầu ra này trong Windows 8?

Có cách nào để báo lỗi từ đầu ra?

Động lực của tôi là cố gắng đăng nhập đầu ra của tracert và điều tra sự khác biệt giữa Windows 8 và Windows 7.


Những gì là 72162?
jsalonen

Đó là một lỗi đánh máy ...
Mikhail

Câu trả lời:


6

Cách tương tự như trong Linux:

echo "Hello" >text.output

Lỗi thường được in thành stderr luồng (nó là # 2). Bạn có thể chụp stderr suối:

del 1.txt 2>text.output

Nếu tập tin 1.txt không tồn tại, text.output sẽ chứa Could not find 1.txt.


Bạn có thể chuyển hướng stdout đến stderr:

echo "Hello" 2>&1

Hoặc là stderr đến stdout:

echo "Hello" 1>&2

P.S. Tôi không chắc lệnh của bạn sẽ hoạt động trong Linux. Dù sao echo "hello" >& text.output tạo ra một lỗi cú pháp: >& was unexpected at this time.


Nó hoạt động trên Gentoo và SLES. Nó có thể không nghiêm ngặt POSIX.
Mikhail


@OliverSalzburg Không biết về nó. Cảm ơn!
Alexey Ivanov

3

Trình bao trong Windows bây giờ rất giống với BASH trên Linux. Vì vậy, bạn chỉ có thể làm

echo "Hello" > text.txt

Hoặc, chạy chương trình của bạn và để đầu ra hệ thống ghi vào text.txt:

run_program > text.txt

Nếu bạn cần theo dõi lỗi, sử dụng như sau:

run_program 2> error.txt

Thêm thông tin và ví dụ có thể được tìm thấy ở đây. Chuyển hướng I / O

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.