2010-03-16 21 views
16

Tôi có chương trình, mà phải tương tác với chương trình DOS trước khi chương trình của tôi có thể tiếp tục những gì nó đang làm. Tôi đang cố gắng tránh người dùng của mình không phải tương tác với chương trình dos này. Vì vậy, tôi đã tạo một tệp .bat làm mọi thứ tôi cần làm ngoại trừ bước cuối cùng vẫn yêu cầu tương tác người dùng mà tôi đang cố gắng tránh.Làm thế nào để bạn nhập một cái gì đó tại một dấu nhắc DOS Lập trình?

Cụ thể, lệnh tôi nhập kết thúc tại dấu nhắc dos nơi tôi cần phải tự động nhập y và sau đó nhập (để nói có cho lời nhắc) và sau đó tôi muốn thoát ra.

Có cách nào để tôi có thể thực hiện điều này tự động mà không cần người dùng phải nhập y và nhập không? Lý tưởng nhất, tôi muốn có giao diện điều khiển-cửa sổ thậm chí không bật lên trong khi điều này đang xảy ra.

+0

Tôi không chắc là tôi hiểu thế nào đến nay bạn đã đi cho đến nay. Bạn có thể khởi động lệnh này đang nhắc "y" không? Làm thế nào bạn hoàn thành điều đó? Bạn đang sử dụng nền tảng nào? Ngôn ngữ nào? C# với .NET? Java? –

+0

và 'y ' không có trong tệp bat vì? –

+0

Austin, bạn làm thế nào? Chỉ cần đặt "y " trên dòng cuối cùng của tệp .bat? –

Trả lời

19

Bạn có thể đường ống trong một nhân vật 'y' vào chương trình như sau:

echo y | executable.exe 

Nhiều dòng có thể được nhập như sau:

(echo y 
echo n) | executable.exe 

... mà sẽ vượt qua đầu tiên 'y 'then' n '.

Xem mẹo từ Microsoft here.

+1

Làm cách nào để biết khi nào cần nhập y, khi bạn ống như thế này? –

+1

Nó không, nó chỉ nằm trong bộ đệm cho đến khi chương trình yêu cầu đầu vào – Jason

+0

James, mà làm việc. Kịch bản bị treo, nhưng không phải trước khi thực hiện công việc tôi cần. Cảm ơn. –

8

Các bài từ Microsoft cũng nói rõ:

Đừng gõ một khoảng trống giữa "y" và ký hiệu ống (|)

và thực sự, tôi nhận thấy rằng trong trường hợp của tôi

echo y | executable.exe

không hoạt động trong khi

vang y | executable.exe

hoạt động tốt

+4

Điều này giống như một bình luận thay vì trả lời cho một câu hỏi ban đầu. – Kamiccolo

+0

Nhận xét này có vẻ tốt hơn như một câu trả lời (vì định dạng được phép trong các câu trả lời không được phép trong các nhận xét). Tôi rất vui vì anh ấy đã làm cho nó một câu trả lời thay vì một bình luận vì lý do đó. –

Các vấn đề liên quan