2013-09-24 42 views
7

Tôi có một .exe yêu cầu 3 số nguyên làm đầu vào. Ví dụ:cách chuyển đầu vào thành tệp .exe trong tệp hàng loạt?

myCode.exe < input.txt 

Trong INPUT.TXT:

2 
3 
8 

Bây giờ tôi muốn đặt lệnh trong một tập tin thực thi. làm thế nào tôi có thể viết các tập tin thực thi? (Ở đây tôi muốn chuyển 3 số nguyên cố định trong tệp lô)

CẢM ƠN!

+0

tôi giả sử bạn đang cố gắng để làm điều này mà không có một tập tin bên ngoài với đầu vào? –

+0

vâng. không có tệp bên ngoài. 3 số đó được coi là cố định sau khi người dùng thiết lập tập tin batch – Helen

Trả lời

1

Dưới đây là một lô một liner sẽ tạo ra các tập tin cho bạn và cung cấp nó như là một đầu vào cho myCode.exe:

echo 2 3 8 > output & myCode.exe output 

Nếu không, có thể bạn sẽ cần phải sửa đổi chương trình của bạn để đọc các đối số trực tiếp từ dòng lệnh.

Có thể chuyển hướng luồng đầu vào/đầu ra/lỗi chuẩn của chương trình đến hoặc từ tệp, nhưng tôi nghĩ không có cách nào để chuyển hướng nội dung dòng lệnh tới luồng đầu vào chuẩn. Hãy xem at this page for details on batch redirection.

+0

Bây giờ mã đang ở trong C# và đang sử dụng Console.readLine() để nhận dữ liệu đầu vào. Tôi có thể cần phải thêm dòng mới giữa 2 và 3. – Helen

+0

Hãy xem [tại đây] (http://stackoverflow.com/questions/132799/how-can-you-echo-a-newline-in-batch-files) cho nhúng một hằng số dòng mới trong một tập tin thực thi. Bạn sẽ chỉ cần ba câu lệnh echo trên một dòng. –

+0

echo 9 && echo. && echo 19 && echo. $$ echo 2> output | myCode.exe đầu ra tôi sẽ thử nếu điều này hoạt động. Cảm ơn Vladimir! – Helen

12

này cũng có thể làm việc:

(
echo 2 
echo 3 
echo 8 
) | mycode.exe 
+0

+1, nhưng dựa trên cách câu hỏi là phrased, OP có thể cần đơn giản 'echo 1 2 3 | mycode.exe' – dbenham

+0

@ dbenham tôi tự hỏi về điều đó và chỉ cần chỉnh sửa câu hỏi - họ đã thực sự trên các dòng riêng biệt. – foxidrive

+0

Ahh, bắt tốt – dbenham

4

thử điều này:

run.bat:

myCode.exe %1 %2 %3

gọi Ví dụ:

run.bat 111 222 333

và với file:

run.bat < input.txt

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