【发布时间】:2015-01-28 11:07:33
【问题描述】:
我必须创建一个批处理文件来执行一些操作,但我需要添加一些命令,以便在超过 30 分钟的执行时间时停止执行。
有人可以帮忙吗? 我是批处理脚本的新手。
【问题讨论】:
标签: batch-file
我必须创建一个批处理文件来执行一些操作,但我需要添加一些命令,以便在超过 30 分钟的执行时间时停止执行。
有人可以帮忙吗? 我是批处理脚本的新手。
【问题讨论】:
标签: batch-file
您需要从另一个调用您的 .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这篇文章,但不是很好。
WMIC PROCESS CALL CREATE获取启动进程的PID(所以以后我可以杀死它而不杀死所有打开命令提示符)