Ghost安装Win7/XP后自动恢复IP的批处理代码(ip备份恢复)

今天维护人员找的我说,最近要推Win7了,暂时桌面云没推广,还是使用手动安装Win7的方式。所以,需要我帮忙写一个脚本,大概功能就是在Ghost Win7之前先导出XP的IP信息,在Ghost完成之后,自动读取这个IP信息用于恢复IP设置。
Ghost安装Win7/XP后自动恢复IP的批处理

之前其实写过一个XP的,这次是Win7的,其实大同小异了,花了近半小时测试成功了,现在来记录一下。
懒得去折腾兼容方法,就写了2个导出IP的脚本和一个IP恢复脚本,用于Ghost远程安装Win7后自动恢复IP设置的。(繁体环境)

1、导出WinXP系统IP信息:

@echo off&setlocal enabledelayedexpansion
title WindowsXP IP信息导出工具(配合恢复脚本所用)
echo IP信息导出中...
for /f "tokens=1,2 delims=:" %%i in ('ipconfig') do (
 echo %%i | find /i "IP Address">nul && echo IP:%%j>D:\ip.txt
 echo %%i | find /i "Subnet Mask">nul && echo MK:%%j>>D:\ip.txt
 if "!GW!" equ "1" call :end
 echo %%i | find /i "Default Gateway">nul && echo GW:%%j>>D:\ip.txt && set GW=1
) 

:end
echo=
echo 导出完毕.任意键检查...
pause>nul
start "" d:\ip.txt
exit

2、导出Win7系统IP信息

@echo off&setlocal enabledelayedexpansion
title Windows 7 IP信息导出工具(配合IP恢复脚本所用)
echo IP信息导出中...
for /f "tokens=1,2 delims=:" %%i in ('ipconfig') do (
 echo %%i | find /i "IPv4 位址">nul && echo IP:%%j>D:\ip.txt
 echo %%i | find /i "子网路遮罩">nul && echo MK:%%j>>D:\ip.txt
 if "!GW!" equ "1" call :end
 echo %%i | find /i "预设闸道">nul && echo GW:%%j>>D:\ip.txt && set GW=1
) 

:end
echo=
echo 导出完毕.任意键检查...
pause>nul
start "" d:\ip.txt
exit

Ps:测试过程中,发现win7 使用ipconfig命令,会有个IPv6的网关,导致出错,只好用了一个 if 跳出循环。
3、最后输出到D:\ip.txt的格式如下(太偷懒了,就三行,手动写入也很快!):

代码如下:

IP: 10.197.198.173
MK: 255.255.255.254
GW: 10.197.198.1

最后,通过下面这个脚本读取d:\IP.txt内容并恢复IP:

@echo off&setlocal enabledelayedexpansion
title Ghost系统后的IP恢复工具
rem 判断文件是否存在
if not exist d:\ip.txt goto error 

rem 从IP.txt读取信息,并设置变量
for /f "tokens=1,2 delims=: " %%a in (d:\ip.txt) do (
 if /i "%%a"=="IP" set addr=%%b
 if /i "%%a"=="MK" set mask=%%b
 if /i "%%a"=="GW" set gateway=%%b
) 

rem 获取第一块网卡的名称,并设置IP,多块网卡将至设置第一块
for /f tokens^=1^,2^ delims^=^" %%j in ('netsh interface ip show config') do (  

    if "%%j"=="介面 " (
     netsh interface ip set address name="%%k" source=static addr=!addr! mask=!mask! gateway=!gateway!
     call :end      

      )
    if "%%j"=="接口 " (
     netsh interface ip set address name="%%k" source=static addr=!addr! mask=!mask! gateway=!gateway!
     call :end
   )
  )  

:end
echo 设置完毕,3S后自动退出!
ping -n 3 127.1 >nul
exit 

:error
cls
echo 错误:D盘根目录未发现ip.txt文件!请手动设置IP,任意键退出...
pause>nul
exit

这个脚本简、繁WinXP/7等系统都可以兼容设定IP,其实是修改自我以前写的Windows下获取网络连线实际名称,加强IP类设置脚本的兼容性中的脚本。

4、脚本用法:

1、封装Ghost系统镜像时,将设置IP的脚本加入启动项
2、Ghost安装系统之前先通过【导出脚本】或【手动的方法】在d盘建立ip.txt,写入如上三条信息
3、通过oneKey远程恢复Ghost系统镜像,等恢复完成之后,IP脚本自动恢复D盘设定好的IP,这时就可以远程连接电脑进行维护了,整个过程均不需要现场操作。

(0)

相关推荐

  • Ghost安装Win7/XP后自动恢复IP的批处理代码(ip备份恢复)

    今天维护人员找的我说,最近要推Win7了,暂时桌面云没推广,还是使用手动安装Win7的方式.所以,需要我帮忙写一个脚本,大概功能就是在Ghost Win7之前先导出XP的IP信息,在Ghost完成之后,自动读取这个IP信息用于恢复IP设置. Ghost安装Win7/XP后自动恢复IP的批处理 之前其实写过一个XP的,这次是Win7的,其实大同小异了,花了近半小时测试成功了,现在来记录一下. 懒得去折腾兼容方法,就写了2个导出IP的脚本和一个IP恢复脚本,用于Ghost远程安装Win7后自动恢复I

  • Android RecycleView滑动停止后自动吸附效果的实现代码(滑动定位)

    最近有个需求 要求列表 滑动后第一条 需要和顶部对齐 上网找了找  发现 官方支持 Recycle + LinearSnapHelper 可以实现 但我实际操作加上后 发现会卡顿 滑动卡顿 没有以前那种流畅感了 想了想  算了 懒得看源码  还是自己写一个得了 效果图 : 代码如下 注释很清楚了 package com.example.testapp import androidx.appcompat.app.AppCompatActivity import android.os.Bundle

  • Android实现收到新短信后自动发邮件功能

    本文实例为大家分享了Android实现收到新短信后自动发邮件的具体代码,供大家参考,具体内容如下 开发环境 Android Studio 3.2.1首先,既然跟读短信和发邮件有关,那么就一定要相关的权限,且安装完应用后要手动打开相关权限… // 接收和读取短信 <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="and

  • VMwarea虚拟机安装win7操作系统的教程图解

    VMwarea的安装过程就不演示了,主要看看如何装入win7镜像 1.下载win7镜像 链接: https://pan.baidu.com/s/1Kht7v0IFtF_p7holFyME0A 提取码: hk9m 2.下载完成后运行VM,文件->新建虚拟机->典型->下一步 3.浏览选择下载好镜像的目录,点击下一步 4.暂时跳过产品激活->下一步配置 5.选择win7虚拟机安装的目录 6.配置win7磁盘的大小,这里我们选择60g 7.点击完成,等待进度条读完就好啦. 8.创建磁盘完

  • VSCode安装Django插件后实现html语法提示的方法步骤

    目录 1 VSCode中默认html语法提示 2 第一种方法:直接修改“设置”中的相关选项 3 第二种方法:在setting.json文件中配置 总结 1 VSCode中默认html语法提示 VSCode(1.64)默认安装完成后自动添加HTML语法提示,但是在安装Django插件后,Django项目文件中的html文件自动语法提示就变为django-html语法,原先的html语法提示就没有了. 2 第一种方法:直接修改“设置”中的相关选项 Django插件安装后为恢复html原有语法提示并保

  • BAT批处理判断IP地址并自动禁用启用网卡

    某内网拨号软件设计问题,拨号后在偶然的情况下不能自动获取DHCP从而更新内网IP,后来发现通过手动释放和重新获取IP可以解决这个问题,但是每次在操作前还要看下IP地址是不是已经被更新为内网地址,若已经更新则无需操作,否则就要手动释放更新,每次敲一堆命令确实麻烦,于是打算做成批处理. 首先遇到的问题是如何获取IP地址,当然既然采用批处理那么就需要借助于现有的命令或者命令行程序,Windows系统内ipconfig命令可以获取IP地址等信息,如果我们只需要IP地址,那么就必须对获取的信息进行筛选过滤

  • 详解在 KVM 上安装 Win7 虚拟机

    之前都是在用Linux 虚机,现在有需要用到Win7 虚机,才发现在 KVM 上安装 Win7 的过程远比想象中的复杂.本文就把其过程做个简单总结. 1. 在 Virtual Machine Manager 里面安装 首先尝试在 Virtual Machine Manager 里面安装.遇到的问题如下: (1)一直停留在 starting windows 界面. 解决方法:修改 video model 为 Cirrus,问题解决. (2)开始安装后,对鼠标和键盘无响应. google,发现需要使

  • Win2008中安装的MSSQL2005后无法访问的解决方法

    很久笔者没有来这里写东西了,因为真的很忙. 最近笔者一直在使用Win2008系统,不过发现一个很奇怪的问题,那就是在该系统上安装了SQL2005后,再在其他计算机访问该主机显示不能访问. 其他主机上也安装了SQL2005,可是连接Win2008系统上的SQL时就出现了这样的报错信息. 当时笔者很困惑,是为什么? 因为Win2003系统中,从来不会有这样的问题发生. 笔者错误的任务,是Win2008系统和SQL2005系统的不兼容,或者有不匹配的问题导致了这样的问题发生. 经过很长时间的想法,笔者

  • 解决Springboot项目启动后自动创建多表关联的数据库与表的方案

    熬夜写完,尚有不足,但仍在努力学习与总结中,而您的点赞与关注,是对我最大的鼓励! 在一些本地化项目开发当中,存在这样一种需求,即开发完成的项目,在第一次部署启动时,需能自行构建系统需要的数据库及其对应的数据库表. 若要解决这类需求,其实现在已有不少开源框架都能实现自动生成数据库表,如mybatis plus.spring JPA等,但您是否有想过,若要自行构建一套更为复杂的表结构时,这种开源框架是否也能满足呢,若满足不了话,又该如何才能实现呢? 我在前面写过一篇 Activiti工作流学习笔记(

  • Tomcat中修改server.xml和content.xml后自动还原问题解决

    在server.xml和content.xml中写入配置文件,重启服务器后,发现xml会重新恢复默认设置,之前的配置全部没了 原因:在eclipse里集成添加tomcat时,eclipse会自动储存tomcat的配置文件.作为一个项目存在eclipse中,即我们常见的Servers项目包.Tomcat服务器在Eclipse中启动时,会自动发布Eclipse中部署的项目,但有时我们是在外部配置这两个文件的,而Eclipse只认得在它里面部署的项目,因此它会创建一个新的server.xml文件将我们

随机推荐