【问题标题】:How to add a stop execution command in a batch file如何在批处理文件中添加停止执行命令
【发布时间】:2015-01-28 11:07:33
【问题描述】:

我必须创建一个批处理文件来执行一些操作,但我需要添加一些命令,以便在超过 30 分钟的执行时间时停止执行。

有人可以帮忙吗? 我是批处理脚本的新手。

【问题讨论】:

    标签: batch-file


    【解决方案1】:

    您需要从另一个调用您的 .bat 并在 30 分钟后检查它是否仍在运行

    @echo off
    
    set "my_bat=E:\MyBat.bat"
    
    for /f  "delims=" %%a in ('wmic process call create "%my_bat%" ^|find "ProcessId"') do (
        for /f "tokens=2 delims=;= " %%# in  ("%%a") do set "PID=%%#"
    )
    
    ::echo %PID%
    ::sleep for 30 minutes
    ping 1.1.1.1 -n 1 -w 1800000 > nul
    
    ::kill the bat
    tskill %PID% >nul 2>&1
    

    您需要将 my_bat 的位置更改为具有完整路径的您的位置。

    【讨论】:

    • 我真的希望有人为假人编写call 命令的高级用法。有ss64.com/nt/call.html这篇文章,但不是很好。
    • @JohnDOE - SS64页面比微软官方帮助好很多。但是这里我使用WMIC PROCESS CALL CREATE获取启动进程的PID(所以以后我可以杀死它而不杀死所有打开命令提示符)
    猜你喜欢
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    • 2013-07-23
    • 2011-08-27
    相关资源
    最近更新 更多