中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]全自动设置机号、IP工具3.0(完整版)
« [1] [2] [3] [4] [5] »
作者:
标题: [原创]全自动设置机号、IP工具3.0(完整版) 上一主题 | 下一主题
qasa
高级用户




积分 959
发帖 311
注册 2006-4-11
来自 广东-LianJiang
状态 离线
『楼 主』:  [原创]全自动设置机号、IP工具3.0(完整版)


      这个版本是我在实践中不断完善和改进写出来的,修正了之前的BUG和可能错漏的地方,也算是比较完整的版本了,谢谢大家的支持和关注。
主代码参考:
@echo %dbg% off&setlocal enabledelayedexpansion
:: code by qasa copyright@qknet 2:16 2007-7-26
title 自动改IP(自设重启次数)   作者:钟其栋
mode con cols=50 lines=10&color a
if not exist 次数.txt goto st_
if exist c:\ip\key.txt goto OK
if not exist 设置.txt goto do_
set /p sum_=<次数.txt
for /l %%i in (!sum_!,-1,1) do (
   if exist c:\ip\off%%i.txt goto end
   )
exit /b

:st_
del /q c:\ip\*.txt >nul 2>nul
set /p sum_=你准备重启电脑多少次后安装冰点(建议设2次以上)?
echo %sum_% >次数.txt
cd %USERPROFILE%\「开始」菜单\程序\启动\
copy c:\ip\ippp.lnk . >nul 2>nul
cd c:\ip\
echo.&echo 请重启进行系统备份! ! !
ping/n 7 127.1>nul
goto :eof

:do_
setlocal enabledelayedexpansion
set no_=0
cd.>设置.txt
for /f "tokens=12 delims= " %%i in ('ipconfig /all^|find /i "Physical Address"') do (
   set mac=%%i
   set mac=!mac:~0,-1!
   )
for /f "tokens=1-3 delims==|" %%j in (MAC.INI) do (
   set mac_=%%j
   set ip_=%%k
   set sm_=%%l
   if !mac! equ !mac_! (
      call :set_ !mac_! !ip_! !sm_!  
      set /a no_+=1
      )   
   )
if "!no_!"=="0" (
   echo.&echo MAC.ini中没有此机的MAC地址,将发送到工作机上......
   echo %date% %time%新发现的MAC地址:>>NewMAC.ini&echo !mac! >>NewMAC.ini
   echo %date% %time%新发现的MAC地址:>>\\游戏主机\full$\NewMAC.ini&echo !mac! >>\\游戏主机\full$\NewMAC.ini
   echo.&echo 已经发送到工作机! ! !
   del /q c:\ip\次数.txt
   )
goto :eof

:set_
set /p w=<次数.txt
if %w% equ 1 cd.>c:\ip\key.txt&&start shutdown -r -t 90 -c 现在是第1次重启_最后一次重启_下次将安装冰点。作者:qasa
if %w% neq 1 start shutdown -r -t 90 -c 现在是第1次重启。
cd.>c:\ip\off2.txt
echo %1 %2 %3
set yy_=%3
echo.&echo 正在为%yy_:~1,3%号设置IP、机号...... 请稍候
for /f "tokens=1-4 delims==|" %%e in (DNS.ini) do (
    set dns1_=%%e
    set dns2_=%%f
    set workgate_=%%g
    set zwym_=%%h
    )
for /f  "tokens=1 delims=" %%s in ('ipconfig /all^|find /i "Ethernet adapter"') do (set ss_=%%s)
set ss_=%ss_:~17,-2%
for /l %%w in (1,1,2) do (
  netsh interface IP Set Address "%ss_%" Static %2 %zwym_% %workgate_% 1 >nul
  )
netsh interface IP Set Dns "%ss_%" static %dns1_% >nul
netsh interface ip add dns "%ss_%"  %dns2_% >nul
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName /v "ComputerName" /t REG_SZ /d %3 /f >nul 2>NUL
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName /v "ComputerName" /t REG_SZ /d %3 /f >nul 2>NUL
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v "Hostname"    /t REG_SZ /d %3 /f >nul 2>NUL
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v "NV Hostname" /t REG_SZ /d %3 /f >nul 2>NUL
echo.&echo                设置完毕
goto :eof

:end
setlocal EnableDelayedExpansion
set /p summ_=<次数.txt
set /p ss=<次数.txt
set /a sss=ss
for /l %%i in (!summ_!,-1,1) do (
   if exist c:\ip\off%%i.txt (
      set /a a=%%i
      if exist c:\ip\off!sss!.txt (
         start shutdown -r -t 60 -c 现在是第!a!次重启_最后一次重启_下次将安装冰点。作者:qasa
         cd.>c:\ip\key.txt
         goto :eof
         )
      start shutdown -r -t 60 -c 现在是第!a!次重启。
      set/a b=a+1
      cd.>c:\ip\off!b!.txt
      goto :eof
      )
   )
goto :eof

:OK
cd %USERPROFILE%\「开始」菜单\程序\启动\
del /q ippp.lnk
cd c:\ip\
del /q c:\ip\*.txt
start "" df /install
goto :eof
现附上源代码给大家学习指正,里面并附上了使用说明一份。

第一次发的发错了,发2.0版上来了,现已更正,之前已经下载的请重新下载,谢谢。


[ Last edited by qasa on 2007-7-26 at 10:03 PM ]

   此帖被 +31 点积分         点击查看详情   
评分人:【 wudixin96 分数: +15  时间:2007-7-26 17:33
评分人:【 561808275 分数: +1  时间:2007-12-4 17:02
评分人:【 everest79 分数: +15  时间:2007-12-21 18:27


附件 1: 自动改IP3.0源代码.rar (2007-7-26 22:01, 73.46 K, 下载附件所需积分 10 点 ,下载次数: 353)


κχυμγνξοθπρωψιαδλεηφβτζσ┬╀┾┳┞┯┰┱┣┲┳╂╁│├┟┭┠这是什么??这就是我的人生
2007-7-26 17:29
查看资料  发送邮件  发短消息 网志   编辑帖子
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 2 楼』:  

楼主名字:钟其栋?

这么长,头痛了!

2007-7-26 17:32
查看资料  发短消息 网志   编辑帖子
qasa
高级用户




积分 959
发帖 311
注册 2006-4-11
来自 广东-LianJiang
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by wudixin96 at 2007-7-26 17:32:
楼主名字:钟其栋?

这么长,头痛了!


正是




κχυμγνξοθπρωψιαδλεηφβτζσ┬╀┾┳┞┯┰┱┣┲┳╂╁│├┟┭┠这是什么??这就是我的人生
2007-7-26 22:08
查看资料  发送邮件  发短消息 网志   编辑帖子
ncqingyi
初级用户





积分 24
发帖 11
注册 2007-7-13
状态 离线
『第 4 楼』:  

上面的这种修改方法有些地方不是很严密,我感觉。 特提供我写的脚本。

@Echo off
Title Please waitting. update computer information.
set flName=c:\windows\ip.txt

set netMask=255.255.255.0
set Gateway=192.168.1.254
set Metric=1
set DNS1=61.177.7.1
set DNS2=221.228.255.1
set DNS3=218.2.135.1

IF EXIST D:\ %windir%\system32\CSCRIPT %windir%\system32\PAGEFILECONFIG.vbs /create /I 768 /M 1536 /VO d: >nul
if EXIST E:\ %windir%\system32\CSCRIPT %windir%\system32\PAGEFILECONFIG.vbs /create /I 512 /M 768 /VO E: >nul
IF EXIST C:\ %windir%\system32\CSCRIPT %windir%\system32\PAGEFILECONFIG.vbs /change /I 512 /M 768 /VO C: >nul
REM GET ComputerName,AdapName,Phyaddr
for /f "tokens=2 delims=:" %%a in ('ipconfig /all^|find "Host Name"') do set pcName=%%a
for /f "tokens=3 delims= " %%a in ('ipconfig /all^|find "Ethernet adapter"') do set AdapName=%%a
for /f "tokens=2 delims=:" %%a in ('ipconfig /all^|find "Physical Address"') do set PhyAddr=%%a
set pcName=%pcName:~1%
set AdapName=%AdapName:~0,-2%
set PhyAddr=%PhyAddr:~1%
set mac1=%PhyAddr:~0,2%
set mac2=%PhyAddr:~3,2%
set mac3=%PhyAddr:~6,2%
set mac4=%PhyAddr:~9,2%
set mac5=%PhyAddr:~12,2%
set mac6=%PhyAddr:~15,2%
set PhyAddr=%mac1%%mac2%%mac3%%mac4%%mac5%%mac6%
set wmicMac=%mac1%:%mac2%:%mac3%:%mac4%:%mac5%:%mac6%
:Echo %pcName% %AdapName% %PhyAddr%

REM Find ip-Mac addr @ file.
for /f "skip=2 tokens=1,2,3,4" %%a in ('find "%PhyAddr%" "%flName%"') do call :findok %%b %%a %%c
goto end
REM Change Computer name

REM

:setok
@Echo This computer's mac is: %1 ipaddress is: %2  name is: %3
@Echo Please waitting...
@Echo Now,update computer name
WMIC computersystem where Name="%pcName%" call Rename Name="%3" >nul
@Echo Modify ip address
WMIC NICCONFIG WHERE MACAddress="%wmicMac%" call EnableStatic("%2"),("%netMask%") >nul
WMIC NICCONFIG WHERE MACAddress="%wmicMac%" call SetGateways("%Gateway%") >nul
@Echo Modify DNS
WMIC NICCONFIG WHERE MACAddress="%wmicMac%" call SetDNSServerSearchOrder("%DNS1%", "%DNS2%", "%DNS3%") >nul
:end
@Echo All Done!

IP.txt 基本结构:
192.168.1.1 001A928EFC1E PC001 WORKGROUP
192.168.1.2 001A9235D870 PC002 WORKGROUP
192.168.1.3 001A928EF04E PC003 WORKGROUP
192.168.1.4 001A9235B64D PC004 WORKGROUP
192.168.1.5 001A928EF37A PC005 WORKGROUP
192.168.1.6 001A928EF12E PC006 WORKGROUP
192.168.1.7 001A928EE291 PC007 WORKGROUP
192.168.1.8 001A928EE318 PC008 WORKGROUP
192.168.1.9 001A928EF187 PC009 WORKGROUP
192.168.1.10 001A928EF44A PC010 WORKGROUP



Black/White
Mono
CGA
VGA
SVGA
LCD
十年工龄 For disk operation system
2007-7-27 09:16
查看资料  发送邮件  发短消息 网志   编辑帖子
ncqingyi
初级用户





积分 24
发帖 11
注册 2007-7-13
状态 离线
『第 5 楼』:  

全部通过WMIC 实现修改计算机名,IP地址,网关,DNS服务器。

同时在C D E 三个盘分别创建Pagefile.sys 页面文件,可以防止被格式化。

IP.txt 还在多个地方有重用。DHCP服务器上使用
For /f .... do netsh dhcp server *** scope *** add reservedip ip mac

绑定MAC到IP. 等



Black/White
Mono
CGA
VGA
SVGA
LCD
十年工龄 For disk operation system
2007-7-27 09:20
查看资料  发送邮件  发短消息 网志   编辑帖子
anson73
初级用户





积分 28
发帖 10
注册 2007-7-31
状态 离线
『第 6 楼』:  

学习学习在学习

2007-7-31 21:59
查看资料  发送邮件  发短消息 网志   编辑帖子
Rhinoceros
新手上路





积分 18
发帖 9
注册 2006-8-16
状态 离线
『第 7 楼』:  

实用的好东东,向楼主致谢。

2007-8-1 00:22
查看资料  发短消息 网志   编辑帖子
9393000
新手上路





积分 10
发帖 3
注册 2005-7-30
状态 离线
『第 8 楼』:  

谢谢分享,试试看。

2007-8-1 19:43
查看资料  发短消息 网志   编辑帖子
gmsx007
初级用户




积分 75
发帖 36
注册 2007-5-11
状态 离线
『第 9 楼』:  好东东

好东东,能不能小一点?

2007-8-2 03:16
查看资料  发送邮件  发短消息 网志  OICQ (310854777)  编辑帖子
smmenglong
新手上路





积分 11
发帖 5
注册 2007-7-27
状态 离线
『第 10 楼』:  

这个想要,积分不够,呵呵

2007-8-9 14:25
查看资料  发短消息 网志   编辑帖子
smmenglong
新手上路





积分 11
发帖 5
注册 2007-7-27
状态 离线
『第 11 楼』:  

再回个就可以下了

2007-8-9 14:26
查看资料  发短消息 网志   编辑帖子
CZJang
初级用户





积分 32
发帖 13
注册 2007-4-14
状态 离线
『第 12 楼』:  

全自动到什么份上,下下来看一下

2007-8-9 14:34
查看资料  发送邮件  发短消息 网志   编辑帖子
csyfly2003
新手上路





积分 10
发帖 5
注册 2007-8-31
状态 离线
『第 13 楼』:  

好东东

2007-8-31 18:26
查看资料  发送邮件  发短消息 网志   编辑帖子
lyaa
初级用户





积分 40
发帖 17
注册 2007-8-10
状态 离线
『第 14 楼』:  

没钱阿,搂主能发一份给我吗??lxsky@263.net

2007-9-3 10:36
查看资料  发送邮件  发短消息 网志   编辑帖子
lyaa
初级用户





积分 40
发帖 17
注册 2007-8-10
状态 离线
『第 15 楼』:  

无法重启

2007-9-5 21:21
查看资料  发送邮件  发短消息 网志   编辑帖子
« [1] [2] [3] [4] [5] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: