9

Hi używam Windows 7 64bitJak uruchomić 2 programy simultaniously w oknach wiersza polecenia

Oto fragment kodu używam do rozpoczęcia

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

Ale chyba zamknąć LOLRecorder.exe przyzwyczajenie uruchom mój plik lol.launcher.exe .... zasadniczo chcę, aby zarówno uruchamianie, jak i uruchamianie polecenia cmd kończyło się po ich uruchomieniu. Co tu jest nie tak? Sprawdziłem inną odpowiedź stackoverflow Here, ale odnosi się ona do tej samej metody, której używam.

EDIT:

Z polecenia start to po prostu zaczyna Windows Terminal 2 i nic nie zaczyna!

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

Odpowiedz

18

Za pomocą polecenia start uruchamia się tylko 2 okna terminala i nic się nie uruchamia!

Problem stanowią cytaty (które są niestety wymagane ze względu na spacje na ścieżkach). Komenda start wydaje się nie podobać im się.

Można obejść ten problem, używając krótkich nazw DOS dla wszystkich katalogów (i usuwając cudzysłowy), lub określając osobny katalog i cytując go (co wydaje się być w stanie poradzić sobie z komendą start).

Spróbuj tego:

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

Lub, jeśli pliki wsadowe stać się bardziej skomplikowana w przyszłości, albo wasze imiona programowe mają spacje w nich, to:

@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 jest dla plików wsadowych tylko i czeka na wywoływany do powrotu. Powinieneś użyć polecenia start, aby uruchomić programy w tle. Jako dodatkowy bonus możesz określić priorytet procesu. Jeśli chcesz uruchomić coś jako inny użytkownik, użyj runas.

+0

Edytowałem moje pytanie. Sprawdź to: – footy

+0

@footy: Wykonaj jedno z tych dwóch poleceń oddzielnie (bez 'start') poprawnie uruchom odpowiedni program, czy może brakuje niektórych podstawowych opcji wiersza poleceń? (Och, nie trzeba mówić "wyjdź", myślę.) –

+0

Działa indywidualnie. Nie ma żadnych argumentów wiersza poleceń cmd, które muszę podać, aby uruchomić te programy. – footy

3

początek wymaga parametry okna tytuł. Spróbuj: start "Lolrecorder" "C: Program Files \ (x86) \ LOLReplay \ LOLRecorder.exe" start "Lol-Launcher" "G: \ League of Legends \ lol.launcher.exe"

ten spowoduje uruchomienie cmd-windows przez uruchomienie tytułu "Lolrecorder" i "Lol-Launcher".

1

Podaj tytuł i przełącznik/c, aby powiadomić okno START, aby odszedł po zakończeniu polecenia.

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

Ten reference dotąd odpowiedziało prawie każde pytanie, jakie kiedykolwiek miałem o CMD.

Powiązane problemy