2017-09-13 3 views
1

Gibt es eine Möglichkeit, die Eingabeaufforderung zu schließen, nachdem ein Befehlszeilenprogramm beendet wurde?Verlassen der Eingabeaufforderung nach Beenden der Electron App

Ich habe eine Electron-App, die ich mit einer Batch-Datei mit den folgenden Befehlen bin ab:

start npm start 

Nach der Elektronen Anwendung zu verlassen, bleibt die Eingabeaufforderung geöffnet. Ich habe versucht, am Ende der Batch-Datei hinzuzufügen, aber das funktioniert nicht.

Antwort

1

Ich würde empfehlen, einige goto Platzhalter in Ihrer Batch-Datei zu implementieren, so dass Ihr Skript einem klar definierten Pfad oder Workflow folgen kann.

ähnlich wie die Antwort hier ... Batch - If, ElseIf, Else

Wenn Sie von der Batch-Datei gestartet, einen Befehl auszuführen benötigen, können Sie die /C Flags verwenden, um das neue Fenster zu schließen, sobald der Befehl abgeschlossen ist.

Sehen Sie diese Antwort hier ... BAT file: Open new cmd window and enter code in there


Auch ... Hier ist ein Beispiel, das ich, um die für den Benutzer hatte liegenden Eingang ermöglicht, wenn mehrere Aufgaben im Batch-Skript erfordern. Enthalten sind zwei Beispiele mit dem Flag /k, mit dem die Fenster geöffnet bleiben können, und dem Flag /C, das die anfängliche Eingabeaufforderung schließt.

@echo off 
:start 
cls 
@echo Select An Action: 
@echo. 
@echo 1= Task 1 (new cmd /C, start npm -l) 
@echo 2= Task 2 (new cmd /k, start npm -l) 
@echo. 
set /p userinp=Enter Your Choice: 
set userinp=%userinp:~0,1% 
if "%userinp%"=="1" goto 1 
if "%userinp%"=="2" goto 2 
if "%userinp%"=="3" goto 3 
if "%userinp%"=="4" goto 4 

if not "%userinp%" =="" @echo Invalid Choice 
pause 
goto start 

:1 
start cmd /C start npm -l 
@echo Task 2 Complete... 
@echo. 
@echo Closing in 10 seconds... 
timeout /t 10 
goto end 

:2 
start cmd /k start npm -l 
@echo Task 2 Complete... 
@echo. 
@echo Closing in 10 seconds... 
timeout /t 10 
goto end 

:end 
exit 
+0

Danke dafür. Leider führt das Hinzufügen des Flags "/ C" dazu, dass dieses Skript sofort geschlossen wird und auch die laufende Anwendung beendet. –

+0

Wäre es besser, das '/ k' Flag in Ihrem Fall anstelle von'/C' zu verwenden? – BugZap

+0

Gleiches Problem. Wenn ich die Stapelverarbeitungsdatei ausführe, wird ein Programm gestartet, bis es vom Benutzer beendet wird, zu welchem ​​Zeitpunkt das Eingabeaufforderungsfenster geöffnet bleibt, das von der Stapelverarbeitungsdatei erstellt wurde. Das sofortige Beenden des Fensters mit '/ k' oder'/C' beendet auch den Prozess, der offen bleiben soll. –

Verwandte Themen