【问题标题】:Opening/Closing application via .bat file [Windows]通过 .bat 文件打开/关闭应用程序 [Windows]
【发布时间】:2016-03-16 05:30:28
【问题描述】:

美好的一天,我有一个运行特定应用程序的 .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 启动时它不会执行剩余的命令。

有什么建议吗?

谢谢。

【问题讨论】:

    标签: windows batch-file cmd kill


    【解决方案1】:

    您可以使用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
    

    【讨论】:

    • 他说它在继续之前已经等待终止。他想在它开始五秒钟后杀死它;他应该使用start /b
    • @SomethingDark 我编辑我的答案谢谢你的通知我
    【解决方案2】:

    TASKKILL /IM asperascp.exe /F
    将杀死所有具有相同图像名称的图像。因此,例如,如果您运行相同的程序两次,并且第二个在第一个退出之前启动,那么当第一个运行 taskkill 时,第二个也将被杀死。如果您执行tasklist,您将看到一些具有相同图像名称但具有不同PID 的图像。您必须获得由批处理文件启动的进程的 PID(我想不出如何使用 CMD 执行此操作。)然后您可以使用: TASKKILL /PID 999 /F

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-16
      • 1970-01-01
      • 1970-01-01
      • 2019-02-02
      • 2020-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多