我摸索出来一种新的方案:在子程序内部进行时间判断该程序所运行的时间,如果运行时间大于设定值,就跳出该子程序。但在时间判断时,但运行中好像不对,不知道该怎么解决,代码如下:- @echo off
- :test
- rem 子程序1
- set "time_1=%time:~3,2%%time:~6,2%"
- rem 获取 当前时间,取后4位
- echo %time_1%
- rem 显示 获取的时间。测试用,实例中可删除
- ping -n 5 127.1>nul
- rem 模拟 子程序(主代码)运行所占用的时间
- :001
- rem 子程序(内循环块)
- echo 循环中
- ping -n 2 127.1>nul
- rem 模拟 子程序(循环块)运行所占用的时间
- set "time_2=%time:~3,2%%time:~6,2%"
- rem 获取 当前时间,取后4位
- echo %time_2%
- rem 显示 获取的时间。测试用,实例中可删除
- set /a time=%time_2%-%time_1%
- rem 计算 时差
- echo %time%
- rem 显示 时差。测试用,实例中可删除
- if "%time%" gtr "5" (
- goto 002 )else (
- goto 001
- )
- rem 根据时差判断是否跳出跳出子程序
- exit
- :002
- echo 已跳至子程序2
- rem 子程序2
- pause>NULL
复制代码 另外,好像我这命令太复杂了,可不可以简化一下。谢谢! |