【性质】批处理程序
【用途】方便在多个ip间切换
【适用】懂一点bat,喜欢小巧和命令行,常要切换IP
【作者】LiLe
【主页】暂无,呵呵,就到这里来找更新吧(如果需要更新的话)
【文献】快速切换ip没必要用工具
【提示】高级用户可以据此修改,精简掉很多内容;命令行支持参数,因此我的习惯是"ip bj" "ip 0"而不是进入后再选菜单。

源代码如下(请将之保存为EasyIP.bat)

::最后更新20070405,发布xbeta,作者LiLe
@echo off
title  EasyIP  v1.3
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::                           EasyIP v1.3
::                            作者:LiLe
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:::::::::::::::::::::::::::::系统设置信息::::::::::::::::::::::::::::::::::
@rem 菜单内容设置:========================================================
 set menu1=油服(Cosl)
 set menu2=总公司1004
 set menu3=西部公司
 set menu4=阳光(Sun)
 set menu5=备用
 set menu6=备用 
 
@rem 设置需要使用的代理服务器地址===========================================
 set ProxyServerValue=10.68.200.233:8080
@rem 无需使用代理服务器的地址,注意:",<local>"表示激活无需使用的地址,一定要保留
 set ProxyOverrideValue="10.*,<local>" 

@rem 这里设置第1个IP的信息==================================================
 set MyIP1=10.56.100.143
 set MyGateWay1=10.56.100.254
 set MyMask1=255.255.255.0
 set DNS11=10.68.100.211
 set DNS21=10.68.100.212

@rem 这里设置第2个IP的信息==================================================
 set MyIP2=10.68.68.85
 set MyGateWay2=10.68.68.254
 set MyMask2=255.255.255.0 
 set DNS12=10.68.100.211
 set DNS22=10.68.100.212

@rem 这里设置第3个IP的信息==================================================
 set MyIP3=10.170.97.72
 set MyGateWay3=10.170.97.254
 set MyMask3=255.255.255.0 
 set DNS13=85.255.116.56
 set DNS23=85.255.112.146

@rem 这里设置第4个IP的信息==================================================
 set MyIP4=192.168.0.199
 set MyGateWay4=192.168.0.125
 set MyMask4=255.255.255.0 
 set DNS14=211.147.6.3
 set DNS24=202.98.96.68

@rem 这里设置第5个IP的信息==================================================
 set MyIP5=
 set MyGateWay5=
 set MyMask5= 
 set DNS15=
 set DNS25=
 
@rem 这里设置第6个IP的信息==================================================
 set MyIP6=
 set MyGateWay6=
 set MyMask6= 
 set DNS16=
 set DNS26= 

@rem 设置需要更改的网络连接名称=============================================
::  IF EXIST "%ALLUSERSPROFILE%"\DESKTOP\ set NetConf="Local Area Connection"
::  IF EXIST "%ALLUSERSPROFILE%"\桌面\ set NetConf="本地连接"
set NetConf="local"
 
@rem 设置需要测试的IP地址===================================================
  set TestIP="10.68.68.254"
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

 if "%1%"=="1" goto IP_1
 if "%1%"=="bj" goto IP_2
 if "%1%"=="3" goto IP_3
 if "%1%"=="4" goto IP_4
 if "%1%"=="5" goto IP_5
 if "%1%"=="6" goto IP_6 
 if "%1%"=="H" goto IP_H_nomenu
 if "%1%"=="h" goto IP_H_nomenu
 if "%1%"=="S" goto IP_S
 if "%1%"=="s" goto IP_S
 if "%1%"=="P" goto IP_P
 if "%1%"=="p" goto IP_P
 if "%1%"=="N" goto IP_N
 if "%1%"=="n" goto IP_N
 if "%1%"=="T" goto IP_T_nomenu
 if "%1%"=="t" goto IP_T_nomenu
 if "%1%"=="0" goto IP_0

GOTO Menu

@rem ==============================================================================
:Menu
 echo.
 echo.
 echo                        EasyIP v1.3
 echo.
 echo              ==================================
 echo                       1:    %menu1%
 echo                       2:    %menu2%
 echo                       3:    %menu3%
 echo                       4:    %menu4%
 echo                       5:    %menu5%
 echo                       6:    %menu6% 
 echo                 ----------------------------
 echo                       P:    使用IE代理服务器
 echo                       N:    不使用IE代理服务器
 echo                 ----------------------------
 echo                       H:    帮助
 echo                       S:    设置说明
 echo                       T:    测试网络
 echo                       0:    自动获得IP
 echo                 ----------------------------
 echo                       Q:    退出
 echo              ==================================

 set /p input=                 请输入选择的代码[eg:1,H...]:
    if "%input%"=="0" goto IP_0
 if "%input%"=="1" goto IP_1
 if "%input%"=="2" goto IP_2
 if "%input%"=="3" goto IP_3
 if "%input%"=="4" goto IP_4
 if "%input%"=="5" goto IP_5
 if "%input%"=="6" goto IP_6 
 if "%input%"=="H" goto IP_H
 if "%input%"=="h" goto IP_H
 if "%input%"=="S" goto IP_S
 if "%input%"=="s" goto IP_S
 if "%input%"=="P" goto IP_P
 if "%input%"=="p" goto IP_P
 if "%input%"=="N" goto IP_N
 if "%input%"=="n" goto IP_N
 if "%input%"=="T" goto IP_T
 if "%input%"=="t" goto IP_T
 if "%input%"=="Q" exit
 if "%input%"=="q" exit
 cls
 goto Menu

@rem ==============================================================================
:IP_1
 set MyIP=%MyIP1%
 set MyGateWay=%MyGateWay1%
  set MyMask=%MyMask1% 
 set DNS1=%DNS11%
 set DNS2=%DNS21%
goto end

@rem ==============================================================================
:IP_2
 set MyIP=%MyIP2%
 set MyGateWay=%MyGateWay2%
  set MyMask=%MyMask2%  
 set DNS1=%DNS12%
 set DNS2=%DNS22%
goto end

@rem ==============================================================================
:IP_3
 set MyIP=%MyIP3%
 set MyGateWay=%MyGateWay3%
  set MyMask=%MyMask3%  
 set DNS1=%DNS13%
 set DNS2=%DNS23%
goto end

@rem ==============================================================================
:IP_4
 set MyIP=%MyIP4%
 set MyGateWay=%MyGateWay4%
  set MyMask=%MyMask4%  
 set DNS1=%DNS14%
 set DNS2=%DNS24%
goto end

@rem ==============================================================================
:IP_5
 set MyIP=%MyIP5%
 set MyGateWay=%MyGateWay5%
  set MyMask=%MyMask5%  
 set DNS1=%DNS15%
 set DNS2=%DNS25%
goto end

@rem ==============================================================================
:IP_6
 set MyIP=%MyIP6%
 set MyGateWay=%MyGateWay6%
  set MyMask=%MyMask6%  
 set DNS1=%DNS16%
 set DNS2=%DNS26%
goto end

@rem ==============================================================================
:IP_H
 cls
 echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 echo                           EasyIP v1.3
 echo                            作者:LiLe
 echo.
 echo 编写说明:
 echo     网上有很多IP修改工具,但是要么需要安装,要么好几个文件,很不方便。
 echo     根据实际需要,编写了本程序,仅仅使用一个几K的批处理即可完成日常需要。
 echo.
 echo 修改说明:
 echo     使用任意文本编辑器,或直接右键选择“编辑”打开。
 echo     在“系统设置信息”中,根据注释,设置需要修改的内容即可。
 echo     目前提供了IP设置、代理服务器设置、网络测试等功能。
 echo     可以根据使用情况自行调整。
 echo.
 echo 升级历史:
 echo     V1.3  变动较大,所有参数做成变量,可以统一修改,目前最全面最稳定的版本
 echo     V1.1  修改了注册表修改方式;增加了命令行参数的支持
 echo     V1.0  程序基本完成,实现了最基本的IP快速切换功能
 echo.
 echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
pause
cls
goto Menu

@rem ==============================================================================
:IP_H_nomenu
 cls
 echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 echo                           EasyIP v1.3
 echo                            作者:LiLe
 echo.
 echo 编写说明:
 echo     网上有很多IP修改工具,但是要么需要安装,要么好几个文件,很不方便。
 echo     根据实际需要,编写了本程序,仅仅使用一个几K的批处理即可完成日常需要。
 echo.
 echo 修改说明:
 echo     使用任意文本编辑器,或直接右键选择“编辑”打开。
 echo     在“系统设置信息”中,根据注释,设置需要修改的内容即可。
 echo     目前提供了IP设置、代理服务器设置、网络测试等功能。
 echo     可以根据使用情况自行调整。
 echo.
 echo 升级历史:
 echo     V1.3  变动较大,所有参数做成变量,可以统一修改 
 echo     V1.1  修改了注册表修改方式;增加了命令行参数的支持;
 echo     V1.0  程序基本完成,实现了最基本的IP快速切换功能
 echo.
 echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
pause
exit

@rem ==============================================================================
:IP_S
 @rem 设置
 cls
 echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 echo                           EasyIP v1.3
 echo                            作者:LiLe
 echo.
  echo        设置说明:
 echo. 
  echo        右键选择“编辑”或者用任意文本编辑器即可对本程序进行编辑,
  echo        所有参数均可在"系统设置信息"中根据说明进行修改。
  echo        目前提供的命令行参数有:
  echo        1-6: 调用第1-6个IP设置
  echo        P: 使用IE代理服务器
  echo        N: 不使用IE代理服务器
  echo        H: 调用帮助文档
  echo        S: 调用设置说明文档
  echo        T: 对指定的IP进行ping测试
 echo.
 echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
pause
cls
goto Menu

@rem ==============================================================================
:IP_P
 reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /t reg_sz /d %ProxyServerValue% /f
 reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyOverride /t reg_sz /d %ProxyOverrideValue% /f
 reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t reg_dword /d 00000001 /f
exit

@rem ==============================================================================
:IP_N
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t reg_dword /d 00000000 /f
exit

@rem ==============================================================================
:IP_T
  cls
  ping %TestIP%
  pause
  cls
goto Menu 

@rem ==============================================================================
:IP_T_nomenu
  cls
  ping %TestIP%
  pause
  exit
@rem ==============================================================================
:IP_0
netsh interface ip set address %NetConf% dhcp
netsh interface ip set dns %NetConf% dhcp
exit

@rem ==============================================================================
:end
 netsh interface ip set address name=%NetConf% source=static addr=%MyIP% mask=%MyMask%
 netsh interface ip set address name=%NetConf% gateway=%MyGateWay% gwmetric=0
 netsh interface ip set dns name=%NetConf% source=static addr=%DNS1% register=PRIMARY
  netsh interface ip add dns name=%NetConf% addr=%DNS2%
 netsh interface ip set wins name=%NetConf% source=static addr=none
exit


说明文件如下

EasyIP_readme.txt

About EasyIP

一、起源
EasyIP是一个很偶然的想法,因为工作的原因,每天都需要更改好几次IP地址,手工更改速度慢,而且麻烦。上网找了更改IP的工具,找的工具还算方便,但是并不是很稳定,时不时弹出出错信息,而且程序有好几个文件不说,占用的空间足足有几兆。
想想看,不就是为了切换个IP和IE的代理服务器么,真的需要这么麻烦么?
参考了xbeta老师的“善用佳软”(http://www.xbeta.info)的一篇文章:“快速切换ip没必要用工具”(http://blog.sina.com.cn/u/46dac66f010006gb),我也对常去的几个地方的IP都设置了批处理文件,而且使用了Win+Run的方式来快速使用,非常方便。但是时间长了,问题又来了,过了段时间就有了一堆设置IP的批处理文件,还有设置代理服务器的注册表文件,非常不爽。一次偶然的机会,同事随口问,需要这么多文件啊,要是能合并成一个就方便了!忽然感到的确是个很好的建议,当晚就用批处理写下了第一版。使用批处理的原因也很简单,这么简单的工作,“杀鸡焉用牛刀”?

二、思路
 程序很简单,使用netsh命令就可以实现了,增加一些参数就足够了。代理服务器的处理刚开始时使用的是在C盘新建注册表文件,然后调用注册表文件来实现,随着对批处理理解的加深,1.1以后版本直接使用reg,命令来实现,不仅克服了没有C盘时会出错的问题,而且效率更高,代码更简洁。

三、特色:
 1、小
 整个程序只有一个文件,并且这个文件只有几K!
 2、简单
 所有代码全部公开,直接右键选择“编辑”,根据提示修改相关参数,即可完成对程序的设置!包括菜单内容、网络信息、代理服务器等都可以方便的设置。
 3、加入了命令行参数的调用
比如将它的路径放在PATH内,则在“运行”中直接输入”EasyIP 参数”就可以直接使用。

四、升级历史:
     V1.3  变动较大,所有参数做成变量,可以统一修改,目前最全面最稳定的版本
     V1.1  修改了注册表修改方式;增加了命令行参数的支持
     V1.0  程序基本完成,实现了最基本的IP快速切换功能

※初稿200703;出处http://blog.sina.com.cn/u/46dac66f010008aa
※作者xbeta;采用CC创作共用协议,可保留本信息并<署名、非商业和保持一致>转载
posted @ 2009-09-13 10:04 yongbin621 阅读(36) 评论(0) 编辑
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>测试附件</title>
<style type="text/css">
/*附件 开始*/
a.files, span.del_file {overflow:hidden;display:-moz-inline-box;display:inline-block;background:url(F2.gif);}
a.files { width:50px;height:15px; #vertical-align:middle;}
a.files:hover {background-position:0 -24px;}
a.files input {margin-left:-160px;filter:alpha(opacity=0);opacity:0;}
span.del_file {width:7px;height:7px;background-position:0 -51px;vertical-align:middle;#vertical-align:sub;margin-left:2px;cursor:pointer;}
/*附件 结束*/
</style>
<script type="text/javascript">
var File = {
/*
模拟126的附件添加特效
-------------------------------------------------------
**num
    为元素的下标
**count
    为元素的个数
**name
    为元素的名字和ID的前段(元素的实际名称是前段加下标)
**status
    为状态的ID
**form
    为表单的ID
-------------------------------------------------------
*/
    num : 1, count : 0
   
    , name : 'file', status : 'file', form : 'form'
   
    , urls : {}
   
    , add : function (file) {
    //添加附件
        if (this.urls[file.value]) {
            alert('此文件已存在');
            return false;
        }
       
        var a = file.parentNode, status = document.getElementById(this.status);
       
        this.urls[file.value] = 1;
       
        document.getElementById(this.form).appendChild(file);
       
        if (/Firefox/.test(window.navigator.userAgent)) {
        //中转一下,否则FF里有很NB的错误会出现。。。
            var b = a, a = a.cloneNode(true);
            b.parentNode.replaceChild(a, b);
            b = null;
        }
       
        file.style.display = 'none';
       
        a.innerHTML = '<input id="' + this.name + (this.num + 1) + '" name="' + this.name + (this.num + 1) + '" onchange="File.add(this)" type="file" \/>';
       
        status.innerHTML += ' <span>' + (/[^\\]+$/.exec(file.value)||'') + '<span class="del_file" onclick="File.del(this, ' + this.num + ')"><\/span>;<\/span>'
       
       
        this.count ++, this.num ++, a = file= null;
    }
   
    , del : function (span, num) {
    //删除附件
        var file = document.getElementById(this.name + num);
        delete this.urls[file.value];
       
        document.getElementById(this.form).removeChild(file);
        span.parentNode.parentNode.removeChild(span.parentNode);
        this.count --, span = num = null;
    }
   
};
</script>
</head>
<body>
<a href="javascript:void(0);" class="files"><input id="file1" name="file1" onchange="File.add(this)" type="file" /></a>
<div id="file"></div>
<hr />
<form id="form" action="b.asp" method="post" enctype="multipart/form-data">
<input type="submit" value="提交" />
</form>
</body>
</html>
posted @ 2009-08-31 10:03 yongbin621 阅读(51) 评论(0) 编辑

1.  使用QueryString变量
  QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:

  a.aspx的C#代码

private void Button1_Click(object sender, System.EventArgs e)
{
    string s_url;
    s_url = "b.aspx?name=" + Label1.Text;
    Response.Redirect(s_url);
}

b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
    Label2.Text = Request.QueryString["name"];
}

  2.  使用Application 对象变量

  Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock。

a.aspx的C#代码

private void Button1_Click(object sender, System.EventArgs e)
{
    Application["name"] = Label1.Text;
    Server.Transfer("b.aspx");
}

b.aspx中C#代码

private void Page_Load(object sender, EventArgs e)
{
    string name;
    Application.Lock();
    name = Application["name"].ToString();
    Application.UnLock();
}

  3.  使用Session变量

  想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。

a.aspx的C#代码

private void Button1_Click(object sender, System.EventArgs e)
{
    Session["name"] = Label.Text;
}

b.aspx中C#代码

private void Page_Load(object sender, EventArgs e)
{
    string name;
    name = Session["name"].ToString();
}

  4.  使用Cookie对象变量

  这个也是大家常使用的方法,与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用。

a.aspx的C#代码

private void Button1_Click(object sender, System.EventArgs e)
{
    HttpCookie cookie_name = new HttpCookie("name");
    cookie_name.Value = Label1.Text;
    Reponse.AppendCookie(cookie_name);
    Server.Transfer("b.aspx");
}

b.aspx中C#代码

private void Page_Load(object sender, EventArgs e)
{
    string name;
    name = Request.Cookie["name"].Value.ToString();
}

  5.  使用Server.Transfer方法

  这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。

  a.aspx的C#代码

public string Name
{
    get{ return Label1.Text;}
}
private void Button1_Click(object sender, System.EventArgs e)
{
    Server.Transfer("b.aspx");
}

b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
    a newWeb;   //实例a窗体
    newWeb = (source)Context.Handler;
    string name;
    name = newWeb.Name;
}
posted @ 2009-08-28 13:05 yongbin621 阅读(22) 评论(0) 编辑

 

初买本本的时候给BIOS设了个密码,但很久不用就忘记了,直到最近才发现进不了BIOS。幸好以前设了先从光盘启动,不如都不能重装了。

现在想把BIOS的密码清掉,在网上搜了很久,看了很多不负责任的发言和不合实际的操作,弄了很久都没办法把密码清掉。由于是笔记本,不可能随便拆电池,又用的是NT系统,Debug命令也是不行的。

现在发现一个比较实际的方法,经检验是切实可行的。

首先下载并安装一个叫MaxDOS的软件,第7版以后的可以支持Vista和2008系统。可以在狗狗上直接搜资源来下载。

装好后把选择系统的30秒打开,这样开机时可以选择进入你所用的系统或安装好的MaxDOS。(具体做法就是打开“我的电脑”或“计算机”的属性,点“高级”选项卡中的“启动和故障恢复”设置,将“显示操作系统列表的时间”选项钩上,并设好时间,不要太短)

好了,重启,进入MaxDOS,根据提示进入纯DOS模式,这时会看到命令提示:

A:\\>

输入如下debug命令:

A:\\>debug
-o 70 10
-o 71 10
-q

(注意“-”号是系统自动输入的)

按 Alt+ctrl+Del 重启,进入BIOS就可看到密码已经清除了。这个方法可以较安全地清除BIOS密码,前提是你可以进入系统(Windows PE也算)。

 

posted @ 2009-08-14 10:20 yongbin621 阅读(322) 评论(0) 编辑

教大家一个小方法看看自己NOKIA手机的出产地和质量。

诺基亚用户都应该知道输入*#06# 会显示自己的手机序列号,通过第7、8位数字可以判断手机的出产地和质量:

1: 0,2 或 2,0代表是阿拉伯生产的,是很差的手机
2: 0,8 或 8,0代表是德国生产的,是好一点儿的手机
3: 0,1 或 1,0代表是芬兰生产的,是非常好的手机
4: 0,0 代表是原产公司生产的,是质量最好的手机(原装手机)
5: 1,3 代表是阿赛拜疆生产的,是非常非常差的手机

posted @ 2009-07-29 09:53 yongbin621 阅读(96) 评论(1) 编辑
摘要: Google图表创建类 —— 高度封装!强力图表解决方案! 引言Google图表API是一个免费的、非常强劲的图表生成工具,您可以仅凭一个Url地址,轻松生成一张具有专业水准的图表。更为可贵的是,图表图形的计算和渲染完全由Google服务器处理,生成的图片也从Google服务器下载,你的服务器就可以大幅节约运算及网络流量资源。故此,将Google图表API作为网站的图表解决...阅读全文
posted @ 2009-07-15 21:33 yongbin621 阅读(67) 评论(0) 编辑
摘要: 1.瑞士圣哥达隧道2.勃朗峰隧道3.英吉利海峡隧道4.瑞士勒奇山隧道5.马尔马雷隧道(土耳其)6.青函隧道(日本)阅读全文
posted @ 2009-07-08 09:19 yongbin621 阅读(125) 评论(0) 编辑
摘要: //C#写入/读出文本文件   string fileName =@"c:I.txt";   StreamReader sr = new StreamReader(fileName); string str=sr.ReadLine (); sr.close();  StreamWriterrw=File.CreateText(Server.MapPath(".")+"\myText.txt"); ...阅读全文
posted @ 2009-07-03 10:56 yongbin621 阅读(57) 评论(0) 编辑
摘要: Download demo project (C# and VB.NET) - 38.2 KBDownload control with source - 37.7 KBDownload control documentation - 71.1 Kb Open online sample [^]. IntroductionThis article describes an ASP.NET popu...阅读全文
posted @ 2009-07-02 09:21 yongbin621 阅读(104) 评论(0) 编辑
摘要: 回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManag...阅读全文
posted @ 2009-07-01 14:37 yongbin621 阅读(190) 评论(0) 编辑