2017-09-13 14 views
1

コマンドラインプログラムの終了後にコマンドプロンプトを閉じる方法はありますか?電子アプリケーションを終了してコマンドプロンプトを終了する

私は次のコマンドでバッチファイルを始めていた電子のアプリがあります。

start npm start 

電子アプリを出た後に、コマンドプロンプトを開いたまま。バッチファイルの最後にexitを追加しようとしましたが、これは機能しません。

答えて

1

gotoプレースホルダをバッチファイルに実装して、スクリプトが明確に定義されたパスまたはワークフローに従うようにすることをおすすめします。ここでの答えと同様に

... Batch - If, ElseIf, Else

あなたは、コマンドが完了すると、新しいウィンドウを閉じるには/Cフラグを使用することができ、バッチファイルから開始されたコマンドを実行する必要がある場合。

ここでこの答えを見る BAT file: Open new cmd window and enter code in there


も...ここで私はあなたがバッチスクリプト内で複数のタスクが必要な場合は、ユーザの入力を可能にし、その周りに横たわっていた例です。ウィンドウを開いたままにすることができる/kフラグと、初期コマンドプロンプトを閉じる/Cフラグの2つの例が含まれています。

@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

ありがとうございます。残念ながら、 '/ C'フラグを追加すると、このスクリプトは直ちに終了し、実行中のアプリケーションも終了します。 –

+0

'/ C'ではなく'/k'フラグを使う方が良いでしょうか? – BugZap

+0

同じ問題。バッチファイルを実行すると、バッチファイルによって作成されたコマンドプロンプトウィンドウが開いたままになるまで、ユーザーが終了するまでプログラムが開始されます。 '/ k'または'/C'でウィンドウを直ちに終了すると、開いたままにしておくべきプロセスも終了します。 –

関連する問題