2016-03-16 21 views
5

良い日に、特定のアプリケーションを実行する.batファイルがあります。その後、5秒後に閉じる/終了します。.batファイルを使用してアプリケーションを開く/閉じる[Windows]

私はすぐにそれが正常にアプリケーションを開いているので、私は手動でアプリケーションを閉じるまで、アプリケーションが開いたときに残りのコマンドを実行しないと思った。私もsleepコマンドを削除してみてください

cd "C:\Program Files (x86)\Aspera\Point-to-Point\bin\" 
asperascp.exe 
sleep 5 
taskkill /IM asperascp.exe /f 

は、ここに私のコードです。

cd "C:\Program Files (x86)\Aspera\Point-to-Point\bin\" 
asperascp.exe 
taskkill /IM asperascp.exe /f 

ただし、出力が同じになるため、asperascp.exeの起動時に残りのコマンドは実行されません。

ヒント?

ありがとうございました。

答えて

7

Start /bコマンドを使用できます。

@echo off 
cd "C:\Program Files (x86)\Aspera\Point-to-Point\bin\" 
Start "" /b asperascp.exe 
timeout /T 5 /nobreak >nul 
taskkill /IM asperascp.exe /F 
+2

彼はすでに続行する前に終了するのを待っている。彼はそれが始まってから5秒後にそれを殺そうとしている。彼は 'start/b'を使うべきです。 – SomethingDark

+1

@SomethingDark私は私の答えを編集私は通知のためにありがとう – Hackoo

+0

ありがとう、あなたは素晴らしいです! – Edmhar

3

TASKKILL /IM asperascp.exe /F
同じイメージ名ですべての画像を殺すでしょう。たとえば、同じプログラムを2回実行すると、最初のプログラムが終了する前に2回目のプログラムが起動すると、最初のタスクが実行されたときに2回目のプログラムが強制終了されます。 tasklistを実行すると、イメージ名は同じですが、PIDが異なるいくつかのイメージが表示されます。あなたはバッチファイルによって開始されたプロセスのPIDを取得する必要があります(私はCMDでこれを行う方法を考えることができません)次に使用することができます: TASKKILL /PID 999 /F

関連する問題