[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] 使用ping与tracert判断网路是否通畅

我的代码是这样的,但是在路由的时候无论有没有通路都被判断成有通路的了,求大神指教
@echo off
set now= %date% %time%

echo %now%>>tracerted.txt
echo %now%>>nottracerted.txt
echo %now%>>pinged.txt
echo %now%>>notpinged.txt

for /f %%i in (IP.txt) do (
    ping -w 1 -n 4 %%i &&echo %%i >>pinged.txt||echo %%i>>notpinged.txt
    tracert -h 5 %%i &&echo %%i >>tracerted.txt||echo %%i>>nottracerted.txt
)
start tracerted.txt
start nottracerted.txt
start pinged.txt
start notpinged.txt

自己顶一下,坐等大神

TOP

tracert -h 5 %%i &&echo %%i >>tracerted.txt||echo %%i>>nottracerted.txt

改为:(tracert -h 5 %%i |findstr /C:"Request timed out"&&echo %%i >>nottracerted.txt)||echo %%i>>tracerted.txt

TOP

我专门写了个ping的powershell脚本,此脚本基本万能。   

bat接收powershell返回值     http://www.bathome.net/thread-30668-1-1.html
返回ping超时次数,和统计时间的ps脚本 http://www.bathome.net/thread-30586-1-1.html

那么你如何用这个脚本帮你呢?
比如ping的次数是5 ,5次全不通,将返回布尔值,$true。只要1次能ping通 则返回布尔值$false
这个   能帮到你么?
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

至于ping 你这样写判断不了。
我都是这样写的。
  1. ping 192.168.1.1 -n 1
  2. if errorlevel 1 (echo 不通) else (echo 通)
复制代码

TOP

回复 3# rs369007
  这个findstr是需要保存到文件夹中再取得吧?
我尝试了一下这个,还没运行完一轮就被迫终止了

TOP

回复 4# PowerShell
ping相关的IP是可以返回布尔值得,但是tracert好像不返回布尔值,所以没办法判断

TOP

回复 5# 522235677
我是需要在文件之中读取相关IP来ping的,按照ping所得的布尔值类型可以判断是否通

TOP

回复 8# 风澜翼翔


                            无语了

TOP

回复 9# 522235677
哎,我也觉得

TOP

返回列表