美好的一天,我有一个运行特定的应用程序,然后在5秒后,将关闭/杀它一个.bat文件。
我有现在由于它成功地打开应用程序时,思想的应用程序打开它不会执行剩余的命令,除非我手动关闭应用程序。
这里是我的代码:
cd "C:\Program Files (x86)\Aspera\Point-to-Point\bin\"
asperascp.exe
sleep 5
taskkill /IM asperascp.exe /f
我也尝试删除sleep
命令。
cd "C:\Program Files (x86)\Aspera\Point-to-Point\bin\"
asperascp.exe
taskkill /IM asperascp.exe /f
但是,这将有asperascp.exe启动时它不会执行其余的命令相同的输出。
有小费吗?
谢谢。
您可以使用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
TASKKILL /IM asperascp.exe /F
将杀死使用相同的映像名称的所有图像。所以,如果你运行同一程序的两倍,例如,第一个退出前第二个开始,第二个也会被当第一个运行的taskkill死亡。如果tasklist
你会看到一些图像用相同的映像名称,但具有不同的PID。您将获得通过您的批处理文件启动进程的PID然后你可以使用(我想不出如何使用CMD做到这一点。):TASKKILL /PID 999 /F
TASKLIST
命令可以是用于获得的PID是有用的。