
标题: [其他] 批处理如何判断宽带是否连接? [打印本页]
作者: Wingl83 时间: 2008-8-25 22:28 标题: 批处理如何判断宽带是否连接?
如题,判断宽带是否连接,若是,执行N个程序,若否,等待链接后再执行。
作者: pusofalse 时间: 2008-8-25 22:31
描述模糊,扣分。。
N个程序,在哪,请描述清楚。
等待连接后执行,要让此批处理帮你连接吗,还是一直处于监控状态,等其他程序连接了在执行?
作者: Wingl83 时间: 2008-8-25 22:50
对不起,是我表达不清楚。
我想运行的程序是
C:\Program Files\Tencent\TM2008\Bin\TM.exe
D:\bibidu\bibidu2.5.exe
D:\Fetion\Fetion.exe
但都需要宽带连接,所以我想做个批处理,另这些程序等宽带连接后再执行。
我的是自动链接的,但时间不固定,所以需要判断是否已经链接,再执行程序。批处理中不用再包括链接命令了,
谢谢。
[ 本帖最后由 Wingl83 于 2008-8-25 22:56 编辑 ]
作者: pusofalse 时间: 2008-8-25 23:00
- @echo off
- for /f "skip=1 delims=" %%a in ('rasdial') do (
- ipconfig|findstr/i "%%a">nul&&(
- start "" "C:\Program Files\Tencent\TM2008\Bin\TM.exe"
- start "" "D:\bibidu\bibidu2.5.exe"
- start "" "D:\Fetion\Fetion.exe"
- )
- goto :next
- )
- :next
- pause
复制代码
- @echo off
- ping -n 2 www.baidu.com>nul&&(
- start "" "C:\Program Files\Tencent\TM2008\Bin\TM.exe"
- start "" "D:\bibidu\bibidu2.5.exe"
- start "" "D:\Fetion\Fetion.exe"
- )
- pause
复制代码
[ 本帖最后由 pusofalse 于 2008-8-25 23:10 编辑 ]
作者: Wingl83 时间: 2008-8-25 23:28
可否解释一下是什么意思?我是自动链接宽带的,但若我将上述三个软件加入启动项,宽带还没有链接,程序就已经启动,所以导致启动错误。本来想用ping做延时,但不确定时间。所以我想做个判断语句,判断宽带是否连接,若是,执行上述三个程序,若否,等待链接后再执行。
我运行了一下版主的批处理,并不是这样,是不是我的表达还有什么问题?
[ 本帖最后由 Wingl83 于 2008-8-25 23:30 编辑 ]
作者: pusofalse 时间: 2008-8-25 23:38
你把上面的批处理放在启动项里,在从启动项里把那三个软件删除,放回它原有的位置。
作者: Wingl83 时间: 2008-8-25 23:42
这样就可以了吗?放第一个还是第二个?
作者: pusofalse 时间: 2008-8-25 23:43
都可以
作者: Wingl83 时间: 2008-8-25 23:51
我将这三个正在运行的程序关闭,断开网络(已设定5秒后重新链接),再运行该批处理,但重新链接后并没有运行这三个程序啊?!
作者: pusofalse 时间: 2008-8-26 00:03
这是理所当然的。
当前未连接网络就不会运行你的程序,若连接网络则反之。
运行批处理的时候,你不是已经断开网络,5秒之后续连的吗。
作者: Wingl83 时间: 2008-8-26 00:08
是啊,但5秒续连后并没有运行这些程序啊。我的想法是,判断宽带是否连接,若是,执行上述三个程序,若否,则一直监控,直到判断宽带链接后再执行这三个程序。
原来我是这样做的:
@echo off
ping /n 60 127.1>nul
::作为等待宽带自动链接的延时,但因为时间不一,所以有时不需要等待60秒。我想持续监控宽带,若链接后自动运行这三个程序。
start "" "C:\Program Files\Tencent\TM2008\Bin\TM.exe"
start "" "D:\bibidu\bibidu2.5.exe"
start "" "D:\Fetion\Fetion.exe"
[ 本帖最后由 Wingl83 于 2008-8-26 00:12 编辑 ]
作者: panshao 时间: 2008-8-26 00:09
不知道人还在吗~?可以帮我解答下问题吗~?偶有个关于运算的问题`
作者: pusofalse 时间: 2008-8-26 00:12
批处理不是用来监控的,那将非常消耗电脑资源。
你没有理解我的意思。
你的程序之所以没有打开,是因为你在运行批处理的时候没有连接到网络。
你再试下这个
- @echo off
- :loop
- ping -n 2 www.baidu.com>nul&&(
- start "" "C:\Program Files\Tencent\TM2008\Bin\TM.exe"
- start "" "D:\bibidu\bibidu2.5.exe"
- start "" "D:\Fetion\Fetion.exe"
- exit/b
- )
- goto loop
- pause
复制代码
[ 本帖最后由 pusofalse 于 2008-8-26 00:15 编辑 ]
作者: Wingl83 时间: 2008-8-26 00:13
就是说不可以做到一链接就运行程序?
作者: panshao 时间: 2008-8-26 00:14
斑竹可以帮帮我吗~?偶有个问题。。想请教你一下~
作者: Wingl83 时间: 2008-8-26 00:15 标题: 回复 15楼 的帖子
我也是小菜鸟,不如你另开新帖,说出你的问题,一定会有人回答你的。
作者: pusofalse 时间: 2008-8-26 00:16 标题: 回复 15楼 的帖子
请单独开一贴,请注意在发帖的时候把标题和描述写清楚,让人能明白其中意思,否则关闭主题。^_^
作者: panshao 时间: 2008-8-26 00:18
以开了~~麻烦斑竹帮看下~~谢了
作者: Wingl83 时间: 2008-8-26 00:19
原帖由 pusofalse 于 2008-8-26 00:12 发表 
批处理不是用来监控的,那将非常消耗电脑资源。
你没有理解我的意思。
你的程序之所以没有打开,是因为你在运行批处理的时候没有连接到网络。
你再试下这个
@echo off
:loop
ping -n 2 www.baidu.com>nul&&(
...
谢谢版主,可以了,之前又说这样非常消耗电脑资源,我这样会消耗吗?
作者: 韩立 时间: 2012-10-17 14:54
不知道楼主能否收到,今天研究了一下,如果理解正确可以满足楼主要求。- @echo off
- :1
- ping www.baidu.com
- rem 检查网络状态
- if %errorlevel%==0 goto start
- rem 检联网则跳转到start
- choice /t 5 /n /d y /m "$延迟5秒$"
- goto :1
- rem 未联网则等待5秒重新检测。choice /t 5 /n...一句中可修改5为其他整数,代表了延迟时间。
-
- :start
- start "" "软件目录1"
- start "" "软件目录2"
- start explorer
- rem 启动部分,自行修改启动软件目录或自行继续添加。
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |