Board logo

标题: 怎样用一个参数返回值验证自己 的网络是否通? [打印本页]

作者: 萍客     时间: 2003-7-2 00:00    标题: 怎样用一个参数返回值验证自己 的网络是否通?

在批处理中要检测自己的机器是否和internet连通,我用的是ping一个网站,将结果保存为文本,再从中搜指定字符的办法。不知道errorlevel怎么用?
作者: lydong     时间: 2003-7-2 00:00
用PING就行了,如果PING通了 errorlevel 为0,不通则为1,写成批处理为:
@echo off
echo Please wait . . .
ping www.163.com >nul
if errorlevel 0 echo yes
if errorlevel 1 echo no


[此贴子已经被作者于2003-7-2 13:28:11编辑过]



作者: 萍客     时间: 2003-7-2 00:00
原来如此啊,多谢了,我只知道教材上说每个命令都返回一个erroelevel值,就是不明白怎么回事。以后有关批处理的问题还望斑竹不吝赐教。
作者: lydong     时间: 2003-7-3 00:00
好啊,大家一起学习嘛!
作者: Wengier     时间: 2003-7-3 00:00
if errorlevel 0 echo yes
if errorlevel 1 echo no

应改成这个吧:

if not errorlevel 1 echo yes
if errorlevel 1 echo no
作者: hunome     时间: 2003-7-3 00:00
有什么具体的区别呢?
if not errorlevel 0 echo no
if errorlevel 0 echo yes
行不行呢?


作者: 萍客     时间: 2003-7-3 00:00
是啊,那样处理后好象两种情况下都是true,能不能用eq呢?

还有ping后面的 >nul 是什么意思呢?是赋给一个值还是生成文件?

还有两个问题一并问了吧,请大家帮我解决一下:
1。怎么实现按时间循环,比如每一分钟执行一次?能不能象break一样跳出循环?
2。批处理能不能递归?
3。什么时候要用到转义符?是那个符号?


[此贴子已经被作者于2003-7-3 13:31:44编辑过]



作者: lydong     时间: 2003-7-11 00:00
ping后面的 >nul 是使执行ping之后的文字提示不在屏幕上显示;
想实现按时间循环可能复杂一点,不过你可以试一下CountDown ,用来设定在指定的时间内运行程序的工具(主要用于批处理文件中).第二跟第三个问题能不能再说清楚一点。

作者: 如是大师     时间: 2003-7-11 00:00
厉害。。。
作者: 萍客     时间: 2003-7-11 00:00
>nul不是linux下的shell里有的吗?在这里也能用啊
第二个问题嘛,就是a.bat里能不能有   call    a.bat   语句?
第三个问题就是如果引号里想用引号或者想取消通配符的作用的时候,怎么实现?例如
"he said: "..."  "以及想找以*结尾的文件。
作者: lydong     时间: 2003-7-13 00:00
Wengier 真厉害,一下就看出问题来了。
第二个问题,a.bat里可以有  call    a.bat   语句,可以参考http://www2.zzu.edu.cn/ie/newdos/dispbbs.asp?boardID=11&ID=4307

第三个问题的答案是:当你在进行目录和文件操作(如COPY、DEL、DIR、CD……)时,通配符是不能被取消的。另外管道符号">、2.txt                    ;表示将显示结果“abcdefg”输入到文件2.TXT中
             echo abcdefg ">"2.txt                  ;则是只显示文本 “  abcdefg ">"2.txt   ”
            

作者: 萍客     时间: 2003-7-14 00:00
明白了
另外问句闲话:你是不是郑大的校友啊?我最初是在电脑报的介绍下来到这个网站的,发现它居然是在郑大的服务器上,着实有些欣喜。