陈永勤的博客
开发网站中...
   我的日志   我的相册   我的朋友   关于我   博客管理
3IE主页被www.68la.com篡改后HA_xara3d 6.0汉化破解版 3D字体设计4
2009年05月30日
自己动手写了一个自动换IP地址的小程序
用笔记本常常遇到这样的麻烦,在办公室要手动输入ip地址,回寝室又要换IP地址,每次都来回换,好麻烦。于是我写了一段小程序,解决了这个问题,上网只要点一下小程序就OK了。顺便把以前写的定时关机、倒计时关机的代码也封装在里面了,想要的可以下回去用。
以下是我的代码
引用内容:@ECHO off
TITLE 妞宝宝设置 制作:陈永勤

:start
CLS
COLOR 1f
rem 使用COLOR命令对控制台输出颜色进行更改
MODE con: COLS=41 LINES=17
rem MODE语句为设定窗体的宽和高
set tm1=%time:~0,2%
set tm2=%time:~3,2%
set tm3=%time:~6,2%
ECHO %date% %tm1%点%tm2%分%tm3%秒
ECHO ========================================
ECHO 请选择要进行的操作,然后按回车
ECHO ────────────────────
ECHO 0. 自动设置IP
ECHO 1. 自动获取IP
ECHO 2. 定时关机
ECHO 3. 倒计时关机
ECHO 4. 删除定时关机任务
ECHO 5. 查看任务状态
ECHO 6. 重新启动
ECHO 7. 锁定计算机
ECHO 8. 注销
ECHO 9. 退出
ECHO ========================================
:cho
SET Choice=
SET /P Choice=选择:
rem 设定变量"Choice"为用户输入的字符
IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%
rem 如果输入大于1位,取第1位,比如输入132,则返回值为1
ECHO.
IF /I "%Choice%"=="0" GOTO SetIP
IF /I "%Choice%"=="1" GOTO autoIP
IF /I "%Choice%"=="2" GOTO SetHour
IF /I "%Choice%"=="3" GOTO outtime
IF /I "%Choice%"=="4" GOTO delAt
IF /I "%Choice%"=="5" GOTO view
IF /I "%Choice%"=="6" GOTO restart
IF /I "%Choice%"=="7" GOTO lock
IF /I "%Choice%"=="8" GOTO logoff
IF /I "%Choice%"=="9" GOTO end
rem 为避免出现返回值为空或含空格而导致程序异常,需在变量外另加双引号
rem 注意,IF语句需要双等于号
rem 如果输入的字符不是以上数字,将返回重新输入
ECHO 选择无效,请重新输入
ECHO.
GOTO cho

:SetIP
CLS
set eth="本地连接"
set IP地址="218.196.65.15"
set 子网掩码="255.255.255.0"
set 默认网关="218.196.65.254"
set 首选DNS="202.197.64.6"
set 备用DNS="202.103.96.68"
echo 正在更改IP地址...
netsh interface ip set address name="%eth%" source=static addr=%IP地址% mask=%子网掩码% gateway=%默认网关% gwmetric=0
echo 正在更改DNS地址...
netsh interface ip set dns name="%eth%" source=static addr=%首选DNS% register=PRIMARY
echo 正在更改备用DNS地址...
netsh interface ip add dns name="%eth%" addr=%备用DNS% index=2
echo 正在禁用动态DNS注册...
netsh interface ip set wins name="%eth%" source=static addr=none
ECHO 设定完毕! 按任意键继续...
PAUSE >nul
GOTO start

:autoIP
MODE con: COLS=50 LINES=18
CLS
set eth="本地连接"
rem sleep //设置后面的等待时间,如"5秒"
set sleep=ping -n 3 127.0.0.1>nul 2>nul
echo 正在更改为自动获取IP地址...
netsh interface ip set address "%eth%" source=dhcp
echo 正在更改为自动获取DNS地址...
netsh interface ip set dns "%eth%" source=dhcp
echo ------------------------------------------------
echo        更改完毕,正在自动获取IP,等待5秒
%SLEEP%
echo ------------------------------------------------
ECHO 已设为自动获取IP! 按任意键继续...
PAUSE >nul
GOTO start

:SetHour
CLS
ECHO.
SET ask=
SET /p ask=是否设定为每天执行关机命令(y/n):
IF NOT "%ask%"=="" SET ask=%ask:~0,1%
IF /I "%ask%"=="y" GOTO yes
IF /I "%ask%"=="n" GOTO no
GOTO SetHour

:yes
ECHO 请指定24小时制式时间,格式为 小时:分钟
SET shutdowntime=
SET /p shutdowntime=输入:
at %shutdowntime% /every:M,T,W,Th,F,S,Su tsshutdn 0 /delay:0 /powerdown >nul
rem 设定为每周的星期一至星期日,即为每天
IF NOT errorlevel 1 GOTO ok
rem 如果输入正确,就执行ok段的语句
ECHO %shutdowntime% 不是标准的时间格式,请重新输入
ECHO.
GOTO yes

:no
ECHO 请指定24小时制式时间,格式为 小时:分钟
SET shutdowntime=
SET /p shutdowntime=输入:
at %shutdowntime% tsshutdn 0 /delay:0 /powerdown >nul
IF NOT errorlevel 1 GOTO ok
ECHO %shutdowntime% 不是标准的时间格式,请重新输入
ECHO.
GOTO no

:ok
ECHO.
SET h=%shutdowntime:~1,1%
SET ah=%shutdowntime:~0,1%
SET am=%shutdowntime:~2,2%
SET bh=%shutdowntime:~0,2%
SET bm=%shutdowntime:~3,2%
IF "%h%"==":" (
SET HM=%ah%时%am%分
) ELSE (
SET HM=%bh%时%bm%分)
rem 如果输入h:mm则HM=h时mm分,否则HM=hh时mm分
IF /I "%ask%"=="y" ECHO 系统将于每天的%HM%关闭
IF /I "%ask%"=="n" ECHO 系统将于%HM%关闭
ECHO 设定完毕! 按任意键继续...
PAUSE >nul
GOTO start

:outtime
CLS
ECHO.
ECHO 请输入倒计时秒数
ECHO ────────
ECHO (设定后要取消,单击"确定"后按Ctrl+C键两次)
SET timed=
SET /p timed=输入:
tsshutdn %timed% /delay:0 /powerdown >nul
IF not errorlevel 1 GOTO ok
ECHO %timed% 是无效的关机时间,请重新输入
ECHO.
GOTO outtime

:delAt
cls
echo.
at /del /y
echo 定时关机任务已取消,按任意键继续...
pause >nul
GOTO start

:view
MODE con: COLS=82 LINES=18
COLOR 1f
ECHO.
at
ECHO 按任意键继续...
PAUSE >nul
GOTO start

:restart
shutdown -r -t 0

:lock
rundll32.exe user32.dll,LockWorkStation
goto start

:logoff
logoff

:end
exit



点击下载此文件


作者:陈永勤┆分类:电脑技术评论:0引用:0┆阅读:17431
Music
Announcement
Archive
73 2024 - 5 48
   1234
567891011
12131415161718
19202122232425
262728293031
New Visitor
About/Statistics
用户名称:陈永勤
会员等级:普通会员
实时积分:1163
日志总数:57
评论数量:83

建立时间:2009年03月20日


Copyright © 2009 - 2010    网站制作:陈永勤
Open LoginBar
关闭此窗口