Pliki wsadowe: Zachowaj otwarte okno poleceń, jeśli jest uruchamiane z systemu Windows, w przeciwnym razie nie

0

Jeśli uruchomię plik wsadowy z systemu Windows (Start-> Uruchom, „mybatch.bat”), pojawi się okno, zostanie ono uruchomione, a następnie zostanie zamknięte. Chciałbym, aby pozostało w tym zastosowaniu.

Jeśli jednak uruchamiasz ten sam plik wsadowy z istniejącego terminala, chciałbym, aby używał bieżącego terminala, zamiast otwierać inny.

czy to możliwe?

Eddie Parker
źródło
Pobierz proces nadrzędny i sprawdź, czy jest to explorer czy cmd. Zobacz Jak mogę określić proces macierzysty cmd.exe
DavidPostill

Odpowiedzi:

0

To powinno być normalne zachowanie. Ta partia:

:: Q:\Test\2017\07\19\WhoStartedMe.cmd
@Echo off
Echo %cmdcmdline%
pause

pokazuje, z jaką linią cmd partia została uruchomiona i czeka na dowolny klawisz
Rozpoczęty wygrana Win+R

C:\WINDOWS\system32\cmd.exe /c ""Q:\Test\2017\07\19\WhoStartedMe.cmd" "
Press any key to continue . . .

Rozpoczęto od otwartego okna cmd:

> WhoStartedMe.cmd
"C:\WINDOWS\system32\cmd.exe"
Press any key to continue . . .

Rozpoczęto od otwartego okna PowerShell:

PS> .\WhoStartedMe.cmd
C:\WINDOWS\system32\cmd.exe /c ""Q:\Test\2017\07\19\WhoStartedMe.cmd""
Press any key to continue . . .
LotPings
źródło