Board logo

标题: [数值计算] 如何给批处理加入执行时的时间控制? [打印本页]

作者: zss427607    时间: 2009-3-7 11:57     标题: 如何给批处理加入执行时的时间控制?

for /f %%i in (host.txt) do nbtstat.exe -a %%i

现在这个可以直接在host.txt提取IP来执行获取IP的电脑名字了~不过我们学校的网络非常非常的慢(好多人在bt),经常10多秒都不执行下一行(卡在了nbtstat.exe -a 123.123.123.123 这个IP上了)~我想用加入ping -n 5 127.0.1>nul 执行5秒如果没有反映,就直接跳过这个IP!执行获取下个IP的电脑名字!请问该怎么修改呢?
作者: jsj30651    时间: 2009-3-7 12:13

ping -n 5 127.0.1>nul
的作用是延时5秒执行下一个命令
你的意思应该是判断执行单个命令的时间,如果超过5秒就中断吧?
作者: zss427607    时间: 2009-3-7 12:17

恩~~是中断当前这个IP的查询~~执行从host.txt获取下个IP的电脑名字!


C:\>nbtstat.exe -a 123.123.123.123

^C终止批处理操作吗(Y/N)? n

现在卡着了都要用手动Ctrl+c 然后输入n

才中断这个IP,获取下个IP~~

我现在就是想加入ping -n 5 127.0.1>nul 执行5秒如果没有反映,就直接跳过这个IP!

[ 本帖最后由 zss427607 于 2009-3-7 12:22 编辑 ]
作者: jsj30651    时间: 2009-3-7 12:27

那你在前面加上
  1. start /b
复制代码
采用异步操作试试
代码变成
  1. start /b nbtstat.exe -a 123.123.123.123
复制代码
最好延时1秒左右执行下一步操作,因为如果IP范围太大可能会很卡。

[ 本帖最后由 jsj30651 于 2009-3-7 12:30 编辑 ]
作者: zss427607    时间: 2009-3-7 12:31

for /f %%i in (host.txt) do start /b nbtstat.exe -a %%i
直接卡死了。。。

[ 本帖最后由 zss427607 于 2009-3-7 12:38 编辑 ]
作者: jsj30651    时间: 2009-3-7 12:35

呃……
好像没有什么办法可以控制单个语句的执行时间,要不是试试,所有的语句都延时一秒执行?
  1. for /f %%i in (host.txt) do (
  2.     start /b nbtstat.exe -a %%i
  3.     ping -n 1 127.1>nul
  4. )
复制代码

[ 本帖最后由 jsj30651 于 2009-3-7 12:41 编辑 ]
作者: zss427607    时间: 2009-3-7 12:39

我想改成的是单个IP如果5秒没反映的话就跳过这个IP~~在host.txt里获取下一行IP继续工作!
作者: zss427607    时间: 2009-3-7 13:02

原帖由 jsj30651 于 2009-3-7 12:35 发表
呃……
好像没有什么办法可以控制单个语句的执行时间,要不是试试,所有的语句都延时一秒执行?for /f %%i in (host.txt) do (
    start /b nbtstat.exe -a %%i
    ping -n 1 127.1>nul
)



楼主这个可以实现N秒后跳下行了,不过就是能获取信息的IP~~还没获取完就直接跳下行了哈哈!!比如tracert,,看来只能是控制秒数来实现了~~如果能实现单个语句的执行时间那就完美了!

[ 本帖最后由 zss427607 于 2009-3-7 13:12 编辑 ]
作者: zqz0012005    时间: 2009-3-7 13:46     标题: 回复 8楼 的帖子

如果不要获取信息的IP,你不知道在延时后面再加一个taskkill /f /im nbtstat.exe吗
作者: zss427607    时间: 2009-3-8 12:51

setlocal enabledelayedexpansion
for /f %%i in (host.txt) do (
set "ip=%%i"
ping !ip! -n 1 | find /i "Reply from"
if "errorlevel"=="1" (echo 此IP不通) else (
tracert !ip!
)
)




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2