2012-02-06 31 views
10

Tôi đang cố gắng chạy một số ứng dụng giao diện điều khiển .exe tập tin từ một tập tin thực thi trong Windows.Khởi động nhiều ứng dụng bàn điều khiển từ một tập tin thực thi

Tuy nhiên, khi tôi chạy đoạn mã sau nó chỉ khởi động đầu tiên của ứng dụng:

"C:\Development\App\bin\Debug1\Application.exe" 
timeout 5 
"C:\Development\App\bin\Debug2\Application.exe" 
timeout 5 
"C:\Development\App\bin\Debug3\Application.exe" 
timeout 5 
"C:\Development\App\bin\Debug4\Application.exe" 
timeout 5 
"C:\Development\App\bin\Debug5\Application.exe" 
timeout 5 

(Tôi đã bao gồm thời gian chờ để lây lan ra ban đầu xử lý một chút)

Có một cách để có được tập tin kịch bản để bắt đầu ứng dụng đầu tiên, sau đó di chuyển trên và bắt đầu những người khác? Lý tưởng nhất là tôi muốn tập lệnh để khởi động tất cả các ứng dụng trong thư mục con, vì vậy nếu tôi có Debug\Applications\*.exe hoặc tương tự, nó sẽ bắt đầu tất cả các ứng dụng kiểu .exe (và có thể chờ 5 giây giữa mỗi tệp). Điều này có thể không?

Trả lời

22

Bạn có thể bắt đầu ứng dụng ở chế độ nền bằng cách sử dụng start:

start "C:\Development\App\bin\Debug1\Application.exe" 

Sử dụng start /? từ một cửa sổ lệnh để có được biết thêm chi tiết.

Ví dụ,

start dir 

sẽ mở ra một cửa sổ lệnh mới và cho bạn thấy một danh sách thư mục, để lại nó mở ra khi finsished.

Các:

start cmd /c "ping 127.0.0.1 && exit" 

lệnh sẽ mở ra một cửa sổ mới, chạy một ping Bốn chu kỳ trên localhost sau đó thoát ra.

Trong cả hai trường hợp, cửa sổ hiện tại sẽ chờ lệnh tiếp theo ngay lập tức.

+0

Cảm ơn, chỉ tìm thấy điều này được đề cập trong http://stackoverflow.com/questions/324539/how-can-i-run-a-program-from-a-batch-file-without-having-the -console-open-after nữa. Bất kỳ ý tưởng về tải động trong một tập tin thực thi? – finoutlook

+0

Lệnh START diễn giải đối số thứ nhất làm tiêu đề cửa sổ nếu nó được trích dẫn, vì vậy bạn cần phải chỉ định tiêu đề như'start "" "C: \ Phát triển \ App \ bin \ Debug1 \ Application.exe" ' – dbenham

5
@echo off 
for %%F in ("Debug\Applications\*.exe") do (
    start "" "%%F" 
    timeout 5 
) 
+0

Cảm ơn điều này đã giúp rất nhiều. Tôi đã đưa ra câu trả lời được chấp nhận cho người dùng khác khi nó trả lời câu hỏi đầu tiên tôi có, vì vậy tốt nhất tôi có thể làm là một upvote. – finoutlook

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