昨天重装系统后不能上网了(小区),因没有保存网关,固定ip地址,打电话给接网线的人又电话停机(网络还有二个月到期)。
不得已,只好写dos脚本来尝试ping网关,找回网络设置。
原理如下:
1,网关范围:192.168.1.1到192.168.20.1, ip范围:192.168.1-20.1到192.168.1-20.20, 尝试400种中有至少有一种设定可以上网。
for /l %%a in (1,1,20) do ( //这里网关的范围,意思是循环从1开始,每次+1,到20 结束。
for /l %%b in (2,1,20) do (( //这里ip的范围,意思是循环从2开始,每次+1,到20 结束。
//这里是修改网关,ip,其中“本地连接”,是指网络图标的名称,一般是这个。
netsh interface ip set address "本地连接" static 192.168.%%a.%%b 255.255.255.0 192.168.%%a.1 auto
ping 192.168.%%a.1 > e:/temp/ping_gateway.txt //这里是ping后保存的位置,后面再来分析看是否ping 通过。
2,不了解 dos的朋友,可以(1)在E盘建一个temp文件夹,(2)建一个文本文件保存下面的代码,更名为ping_gateway.bat.改了后文件图标会变化,(3)打开开始菜单,点击运行,输入cm,回车,出现 dos命令行,输入e:/temp/ping_gateway.bat.程序就开始运行了,放在一边慢慢ping,直到看到提示说:Congratulate 。。。。说明找到可以ping通过的网关了, 看它的上一行ping记录:
如:192.168.10.10 lost 0,意思是说:192.168.10.10 这个ip可用,网关:192.168.10.1,
篇幅有限,至此为止。(QQ:270262322)
以下是dos 代码:
=======================
@echo off
set INFO=rem
%INFO% **************************
%INFO% Script:ping_gateway.bat
%INFO% Creation Date:2010-6-19
%INFO% Author:fish
%INFO% Email:myemailyuhui@126.com
%INFO% **************************
%INFO% Description:loop ping gateway
%INFO% **************************
%INFO% Files:Stores output:e:/temp/systemInfo.txt
%INFO% **************************
@title "loop ping gateway"
color 07
for /l %%a in (1,1,20) do (
for /l %%b in (2,1,20) do (
netsh interface ip set address "本地连接" static 192.168.%%a.%%b 255.255.255.0 192.168.%%a.1 auto
ping 192.168.%%a.1 > e:/temp/ping_gateway.txt
for /f "skip=9 tokens=7,10" %%C in (e:/temp/ping_gateway.txt) do (
if %%D==4 (
echo 192.168.%%a.%%b lost %%D
) else (
echo 192.168.%%a.%%b lost %%D ok
echo Congratulate we find gateway at the end.
echo see up or see e:temp/ping_gateway.txt
goto SUBROUTINE1
)
)
)
)
echo sorry we can not find gateway int 192.168.0.1-192.168.2.2
:SUBROUTINE1
echo end