Mam taki plik nietoperza:
ipconfig
Spowoduje to wydrukowanie informacji IP na ekranie, ale zanim użytkownik będzie mógł odczytać te informacje, CMD zamyka się.
Uważam, że CMD zakłada, że skrypt się skończył, więc zamyka się.
Jak utrzymać otwarty CMD po zakończeniu skryptu?
batch-file
cmd
pattyd
źródło
źródło
pause
co jest miłym obejściem (i dlatego głosowałem za tą odpowiedzią), ale nie takim, które naprawdę rozwiązuje problem, ponieważ po kliknięciu przez użytkownikaEnter
lubSpace
okno się zamknie. ..Odpowiedzi:
W zależności od tego, jak uruchamiasz polecenie, możesz wstawić
/k
po,cmd
aby okno pozostało otwarte.Wystarczy dodać
cmd /k
plik na końcu pliku wsadowego. Podziękowania dla Luigiego D'Amico, który opublikował o tym w komentarzach poniżej.źródło
cmd /k
na końcu.Umieść
pause
na końcu pliku .BAT.źródło
Po prostu dodaj
@pause
na końcu.Przykład:
Możesz też użyć:
źródło
@pause
ipause
można zobaczyć wizualnie w tej odpowiedzi: stackoverflow.com/questions/17957076#60053224Dodawanie
pause
w (Windows 7) na końcu nie działało,ale dodanie
cmd /k
przed moim poleceniem działało.Przykład:
źródło
Gdy plik .bat jest uruchamiany nie z poziomu wiersza poleceń (np. Dwukrotne kliknięcie).
źródło
start cmd /k
zrobił dla mnie magię. Właściwie użyłem go do przygotowania aplikacji cordova phonegap, uruchamia polecenie, pokazuje wynik i czeka, aż użytkownik je zamknie. Poniżej znajduje się prosty przykładCzego użyłem w moim przypadku
Aktualizacja
Możesz nawet mieć tytuł, używając
start "My Title" echo Hello, World!
źródło
Jeśli uruchamiasz skrypt w wierszu poleceń, dodaj,
exit /b
aby pozostawić otwarty CMDźródło
ipconfig
i inne wbudowane pliki wsadowe to bardzo zły pomysł .W systemie Windows dodaj „& Pause” na końcu polecenia w pliku.
źródło
Byłem również zdezorientowany, dlaczego dodajemy
cmd
na początku i zastanawiałem się, czy muszę najpierw otworzyć wiersz polecenia. To, co musisz zrobić, to wpisać pełne polecenie wraz zcmd /k
. Na przykład załóżmy, że nazwa pliku wsadowego to „my_command.bat”, która uruchamia polecenie,javac my_code.java
a kod w pliku wsadowym powinien mieć postać :Zasadniczo nie ma potrzeby otwierania wiersza polecenia w bieżącym folderze i wpisywania powyższego polecenia, ale możesz zapisać ten kod bezpośrednio w pliku wsadowym i wykonać go bezpośrednio.
źródło
drugie polecenie sprawi, że okno cmd nie zostanie zamknięte. Ważne jest to, że nadal możesz wprowadzić nowe polecenie
źródło
Na marginesie działa to również podczas uruchamiania polecenia bezpośrednio z paska wyszukiwania w systemie Windows.
np. bezpośrednie uruchomienie
ipconfig
spowoduje bezpośrednie zamknięcie okna cmd po zakończeniu działania polecenia.Używanie
cmd \k <command>
nie będzie - co właśnie próbowałem zrobić, kiedy znalazłem tę odpowiedź.Ma dodatkową zaletę polegającą na tym, że zawsze rozpoznaje polecenie, które próbujesz uruchomić. Na przykład uruchomienie
echo hello world
z paska wyszukiwania nie zadziała, ponieważ nie jest to polecenie, alecmd \k echo hello world
działa dobrze.źródło