2012-01-31 28 views
6

Tôi muốn sao chép một số tập tin vào đĩa USB diffent, và muốn sử dụng START để mở nhiều console như sau:LÀM THẾ NÀO để EXIT sử dụng "bắt đầu" trong các tập tin batch của MSDOS

start copy a.txt h: 
start copy a.txt i: 
start copy a.txt j: 

Nhưng mỗi khi chạy tập tin batch, có 3 bàn giao tiếp không thoát. Làm thế nào tôi có thể thực hiện chức năng này EXIT KHÔNG sử dụng 3 file hàng loạt và "gọi" các lệnh như:

copy.bat:

call a.bat 
call b.bat 
call c.bat 
exit 

và ba được gọi là các tập tin batch như:

a.bat:

start copy a.txt h: 
exit 

b.bat:

start copy a.txt i: 
exit 

c.bat:

start copy a.txt j: 
exit 

Tôi đã cố gắng này, nhưng nó không hoạt động:

start copy a.txt h: && exit 
start copy a.txt i: && exit 
start copy a.txt j: && exit 
+0

Chỉnh sửa câu trả lời của tôi, chương trình này hoạt động :) –

+0

Chỉ cần ra khỏi tò mò; tại sao sử dụng 'call' không phải là một lựa chọn? –

Trả lời

13

Bạn cần phải thoát khỏi & & để nó trở thành một phần của lệnh được thực hiện bằng cách bắt đầu chứ không phải tệp bó gốc.

start copy a.txt h: ^&^& exit 

Để đóng giao diện điều khiển mới thậm chí nếu có những sai sót bạn có thể làm:

start "" "%comspec%" /c copy a.txt h: 
+0

Tốt, tôi không biết bạn phải thoát khỏi & 's. –

+0

Cảm ơn, trường hợp đầu tiên hữu ích và hữu ích! Tôi cũng không biết lối thoát. –

+0

'bắt đầu' với tham số'/b' sẽ ngăn cửa sổ được tạo. –

4

Bạn có thể sử dụng để start bắt đầu một cửa sổ cmd mới và đóng nó lại khi lệnh đã được chạy như sau:

start cmd /c copy a.txt h: 
+0

không, nó không hoạt động, và sẽ chỉ thực hiện một dòng. –

+0

Cảm ơn bạn! nó hoạt động lần này. –

+0

Tuyệt vời, đừng lo lắng :) –

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