2011-06-27 39 views
9

Hi tôi đang sử dụng windows 7 64bitLàm thế nào để bắt đầu 2 chương trình simultaniously trong cửa sổ command prompt

Dưới đây là đoạn mã tôi đang sử dụng để bắt đầu

@echo off 
call "C:\Program Files (x86)\LOLReplay\LOLRecorder.exe" 
call "G:\League of Legends\lol.launcher.exe" 
exit 

Nhưng trừ khi tôi nhắm LOLRecorder.exe nó wont bắt đầu của tôi lol.launcher.exe .... về cơ bản tôi muốn cả hai chạy và nhắc lệnh cmd sau khi họ bắt đầu. Có gì sai ở đây? Tôi đã kiểm tra một câu trả lời stackoverflow khác Here nhưng nó đề cập đến cùng một phương pháp tôi đang sử dụng.

EDIT:

Với lệnh bắt đầu, nó chỉ khởi động 2 cửa sổ đầu cuối và không có gì bắt đầu!

@echo off 
start "C:\Program Files (x86)\LOLReplay\LOLRecorder.exe" 
start "G:\League of Legends\lol.launcher.exe" 
exit 

Trả lời

18

Với lệnh bắt đầu, nó chỉ khởi động 2 cửa sổ đầu cuối và không có gì bắt đầu!

Vấn đề là dấu ngoặc kép (rất tiếc là do không gian trong đường dẫn). Lệnh start dường như không thích chúng.

Bạn có thể giải quyết vấn đề này bằng cách sử dụng tên DOS ngắn cho tất cả các thư mục (và xóa dấu ngoặc kép) hoặc bằng cách chỉ định thư mục riêng biệt và trích dẫn thư mục đó (lệnh start dường như có thể xử lý).

Hãy thử điều này:

@echo off 
start /d "C:\Program Files (x86)\LOLReplay" LOLRecorder.exe 
start /d "G:\League of Legends" lol.launcher.exe 

Hoặc, nếu các tập tin batch của bạn trở nên phức tạp hơn trong tương lai, hoặc tên chương trình của bạn có khoảng trống trong đó, điều này:

@ECHO OFF 

CALL :MainScript 
GOTO :EOF 

:MainScript 
    CALL :RunProgramAsync "C:\Program Files (x86)\LOLReplay\LOLRecorder.exe" 
    CALL :RunProgramAsync "G:\League of Legends\lol.launcher.exe" 
GOTO :EOF 

:RunProgramAsync 
    REM ~sI expands the variable to contain short DOS names only 
    start %~s1 
GOTO :EOF 
1

call chỉ dành cho tệp theo lô và chờ hồi âm trở lại. Bạn nên sử dụng lệnh start để bắt đầu các chương trình được nền. Là phần thưởng thêm, bạn có thể chỉ định mức ưu tiên cho quy trình. Nếu bạn cần chạy một thứ gì đó với tư cách người dùng khác, hãy sử dụng runas.

+0

tôi đã chỉnh sửa câu hỏi của mình. Hãy kiểm tra xem nó ra – footy

+0

@footy: Làm một trong hai lệnh riêng lẻ (không có 'bắt đầu') bắt đầu chương trình tương ứng một cách chính xác hay bạn có thể thiếu một số tùy chọn dòng lệnh cần thiết? (Ồ, không cần phải nói "thoát" tôi nghĩ.) –

+0

Nó hoạt động riêng lẻ. Không có dòng cmd args tôi phải cung cấp để bắt đầu các chương trình này. – footy

3

bắt đầu đòi hỏi các thông số cho cửa sổ chức vụ. Hãy thử: bắt đầu "Lolrecorder" "C: \ Program Files (x86) \ LOLReplay \ LOLRecorder.exe" bắt đầu "Lol-Launcher" "G: \ League of Legends \ lol.launcher.exe"

này sẽ cung cấp cho các cmd-windows bắt đầu bằng cách bắt đầu tiêu đề "Lolrecorder" và "Lol-Launcher"

1

Chỉ định tiêu đề và nút chuyển đổi/c để báo cho cửa sổ START bị tắt sau khi lệnh kết thúc.

start "recorder" /c "C:\Program Files (x86)\LOLReplay\LOLRecorder.exe" 
start "LOL" /c "G:\League of Legends\lol.launcher.exe" 

reference này cho đến nay đã trả lời gần mọi câu hỏi mà tôi từng có khoảng CMD.

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