Dòng lệnh - tệp bó gọi một tệp bó khác


13

Tôi có một tệp bó gọi một tệp bó khác tồn tại trong thư mục PATH (về cơ bản gọi một tệp thực thi với các chuyển đổi bổ sung.)

: bar.bat:
foo.bat file1.txt
foo.bat file2.txt
etc.

Trong foo.bat:

foo.exe -t -s %1

bar.bat thực thi lệnh đầu tiên nhưng thoát ra vô cùng (tức là chỉ làm việc trên file1.txt ).

Làm cách nào tôi có thể tạo tệp bó này để gọi tệp bó khác nhiều lần?

Câu trả lời:


14

Sử dụng từ khóa CALL:

call foo.bat file1.txt
call foo.bat file2.txt

1
<được sao chép từ câu trả lời của Duncan Smart, chỉ để giữ nó cùng nhau> Ngoài câu trả lời của @ splattne, hãy sử dụng exit / b trong tệp bó CALLed nếu bạn cần quay lại sớm.
Brad Bruce

1
Bạn cũng có thể sử dụng goto :eofđể trở về sớm. exit /bthường chỉ cần thiết nếu bạn cần mã trả về.
Joey

Tôi không biết tại sao nhưng tôi đang vật lộn để làm việc này, tôi đã thử cả hai exit /bgoto: eof. Bạn có thể nối thêm đầu ra của dơi GỌI không? call foo.bat > myfile
SSH này vào

4

Ngoài câu trả lời @ splattne, sử dụng exit /btrong các CALLtập tin batch ed nếu bạn cần phải trả lại sớm.


2

Một tùy chọn khác (để tương thích với DOS trước phiên bản 3.3 :-)) là gọi quy trình lệnh với tùy chọn con (/ c) và tên của tệp bó khác để xử lý. Điều đó cũng sẽ thực hiện một cuộc gọi thay vì một chuỗi, và thậm chí sẽ hoạt động trên các máy thực sự cổ xưa (chỉ trong trường hợp ai đó chạy ngang qua và quan tâm). :-)


0

@echo tắt

echo WbLegalReport.cmd

Tôi:

cd I: \ CFS \ Batch \ jarDir

tiếng vang% CD%

WbLegalReport.cmd

tiếng vang% CD%

echo WatchResrAddDelatted.cmd

tiếng vang% CD%

WatchRestrAddDelatted.cmd

tiếng vang% CD%

Những gì tôi đang cố gắng làm ở đây là gọi hai tệp bó này theo một trình tự.

Không thể làm như vậy.

xin vui lòng giúp đỡ.

Thực tế, nó không thành công ở tập lệnh con, vì điều khiển không quay trở lại tập lệnh chính


0

Sanket, không gọi trực tiếp các tập tin hàng loạt. Sử dụng lệnh "GỌI". Xem ví dụ của splattne .

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.