Wiersz polecenia: uruchamianie skryptów w tle (odpowiednik systemu Linux i / bg)

23

W systemie Linux możesz to zrobić:

$ php blah.php> some.log &

działać blah.phpw tle. Jest to to samo, co Ctrl+, za następnie bgpolecenie.

Czy istnieje odpowiednik jednego lub obu dla wiersza polecenia systemu Windows?

DOOManiac
źródło
1
Nie wierzę, że tak, ale możesz uruchomić tyle poleceń, ile potrzebujesz. Co próbujesz osiągnąć
uSlackr
Używam> do logowania się do pliku i nie chcę pytać, żeby po prostu tam usiąść. Mogę chcieć kontynuować pracę w tym samym oknie zachęty w / tym samym katalogu.
DOOManiac
Jaka wersja systemu Windows?
EBGreen,
Windows 7 (64-bitowy)
DOOManiac

Odpowiedzi:

41

System Windows ma podobną funkcjonalność jak Linux &, aby uruchamiać procesy tak, aby nie przejmowały konsoli. Zamiast flagi wiersza polecenia jest to jednak przedrostek polecenia.

Po prostu uruchom polecenie startprzed nim, takie jak: C:\> start myprog.exe

Działa również z poleceniami, a nie tylko plikami wykonywalnymi: C:\> start dir

Spowoduje to uruchomienie nowego okna konsoli i uruchomienie w nim polecenia.

Jeśli nie chcesz, aby po uruchomieniu polecenia pojawiło się nowe okno konsoli, użyj /Bprzełącznika w następujący sposób: C:\> start /B myprog.exe

Istnieje kilka innych opcji, które można określić, aby skonfigurować sposób uruchamiania polecenia. Możesz je rozwiązać, czytając pomoc za startpomocą start /?.

Ben Richards
źródło
1

Może to uruchomić plik w tle z wiersza polecenia lub plik wsadowy

@Echo off
Echo Set WshShell = CreateObject("WScript.Shell")   >>%temp%\ghost.vbs
Echo WshShell.Run chr(34) ^& "MyFile" ^& Chr(34), 0 >>%temp%\ghost.vbs
Echo Set WshShell = Nothing                         >>%temp%\ghost.vbs
start %temp%\ghost.vbs
timeout /t 1 >nul
del %temp%\ghost.vbs

Teraz zamień MyFilena plik, który chcesz uruchomić w tle.

Anthony
źródło
2
(1) Czy możesz wyjaśnić, jak to działa (tylko trochę)? (2) Zasadniczo używa to startpolecenia. Tworzy pośrednią rzecz, która uruchamia polecenie użytkownika, a następnie używa startpolecenia do uruchomienia pośredniej rzeczy. Więc to jest maszyna Rube Goldberg . Jak to jest lepsze od drugiej odpowiedzi, która sugeruje startbezpośrednie użycie ? (3) Pytanie pokazuje przekierowanie I / O ( > some.log). W jaki sposób użytkownik mógłby przekierować We / Wy z tą odpowiedzią? Umieścić go w wierszu polecenia lub wbudować w WshShell.Runwiersz skryptu?
Scott
Nie odpowiadaj w komentarzach; edytuj swoją odpowiedź, aby była jaśniejsza i bardziej kompletna.
Scott