通过.bat文件在Windows中打开/关闭应用程序

15

你好,我有一个.bat文件,运行特定应用程序后5秒钟会将其关闭/结束。

目前我遇到的问题是,尽管该应用程序成功打开,但它不会执行剩余的命令,除非我手动关闭该应用程序。

以下是我的代码:

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启动时,它不会执行剩余的命令。

有什么建议吗?

谢谢。

2个回答

26
你可以使用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
他的意思是在继续之前已经等待终止了。他想在它启动后五秒钟将其关闭;他应该使用 start /b - SomethingDark
1
@SomethingDark 我编辑了我的回答,谢谢你提醒我。 - Hackoo

6

TASKKILL /IM asperascp.exe /F
该命令将终止所有具有相同进程名的进程。例如,如果您运行同一个程序两次,并且第二个程序在第一个程序退出之前启动,则当第一个程序运行 taskkill 时,第二个程序也将被终止。如果您运行 tasklist 命令,您会看到一些具有相同进程名但不同 PID 的图像。您需要获取批处理文件启动的进程 PID(我无法想到如何在 CMD 中执行此操作)。然后,您可以使用以下命令:

TASKKILL /PID 999 /F

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接