[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] [已解决]怎样用批处理备份还原IP配置?

本帖最后由 xlybzk 于 2011-5-28 09:26 编辑

我想通过批处理备份还原IP配置,编了如下代码
  1. @netsh -c interface ip dump >ip.txt
  2. echo @netsh -f ip.txt >还原.bat
  3. echo @del ip.txt >>还原.bat
  4. echo @del 还原.bat >>还原.bat
  5. @del 备份.bat
复制代码
功能是读取当前ip配置并保存到ip.txt,然后创建还原.bat测试成功,
但是当我企图让备份创建出来的还原.bat也能创建备份.bat时失败了
  1. @netsh -c interface ip dump >ip.txt
  2. echo @netsh -f ip.txt >还原.bat
  3. echo @del ip.txt >>还原.bat
  4. echo echo @netsh -c interface ip dump >ip.txt >备份.bat >>还原.bat
  5. echo echo @netsh -f ip.txt >还原.bat >>备份.bat >>还原.bat
  6. echo echo @del ip.txt >>还原.bat >>备份.bat >>还原.bat
  7. echo echo @del 还原.bat >>还原.bat >>备份.bat >>还原.bat
  8. echo @del 备份.bat >>备份.bat >>还原.bat
  9. echo echo @del 还原.bat >>还原.bat
  10. @del 备份.bat
复制代码
我刚开始接触批处理,这是我胡乱写的,大家不要笑。希望大家指出正确的写法
谢谢2楼提醒,我刚来这里,不熟悉发帖规则。
不好意思,是我没说清楚。我需要不用进行操作的自动化无脑化的批处理
我是要把他放到封装好的操作系统中,通过封装工具在第2次重启时自动运行
备份IP配置并生成还原IP配置批处理
我在第一次重启进入桌面设定好公司给每一台机器分配的IP,
在第二次重启时自动备份IP,然后办公人员用其他未提前封装此批处理的系统盘,也可以自己恢复IP,
并且恢复IP配置后生成备份批处理(因为他用的不是提前封装此批处理的系统盘所以要生成备份批处理供以后用)

感谢batman不厌其烦的勾引,最终让我发现原来实现这个功能只要一行代码就可以了,是我想得太复杂了。谢谢
  1. if not exist ip.txt (netsh -c interface ip dump >ip.txt) else netsh -f ip.txt
复制代码
1

评分人数

    • batman: 感谢给帖子标题标注[已解决]字样PB + 2

你的意思是这样?
  1. if not exist ip.txt (netsh -c interface ip dump >ip.txt) else netsh -f ip.txt
复制代码
如果没有就创建,有就载入?

TOP

8# xlybzk
如果当前目录下本来就有一个ip.txt怎么办?
ps:你代码中第二个if exist是多余的。。。
***共同提高***

TOP

有些命令我还是不太明白,不过我看出来你的思路了
我按你的思路写一个麻烦你给看看
  1. if not exist ip.txt netsh -c interface ip dump >ip.txt
  2. if exist ip.txt netsh -f ip.txt
复制代码
太复杂的我搞不懂,瞎写,勿笑
不过确实可以用

TOP

本帖最后由 batman 于 2011-5-27 11:37 编辑

如是这样,封装下面这个批就可以了:
  1. @echo off
  2. for /f %%a in (%~fs0) do set "ok=%%a"
  3. if "%ok%" equ "::" goto next
  4. (echo,&echo,:: 自动还原)>>%~fs0
  5. netsh -c interface ip dump >ip.txt
  6. attrib +h +r +a +s ip.txt
  7. goto :eof
  8. :next
  9. attrib -h -s -a -r ip.txt   
  10. netsh -f ip.txt
  11. attrib +h +r +a +s ip.txt
复制代码
ps:同时加上了对ip.txt的保护,以防使用者误删ip.txt
1

评分人数

    • xlybzk: 感谢你不厌其烦的勾引技术 + 1
***共同提高***

TOP

做为一个批不就行了,运行时判断一下:
@echo off
:begin
set "select="&set /p select=请选择(1.备份 2.还原):
if "%select%" neq "1" if "%select%" neq "2" cls&goto begin
cls&goto command%select%
: ...
batman 发表于 2011-5-27 09:33

我知道了,你是做了一个输入值的对比neq,限制只能输入1或2,然后决定go to 到什么位置。
可是ping /n 3 127.1>nul是干什么用的?我所要求的功能貌似用不到ping命令
还有goto :eof,貌似没有用吧,退出批处理不是可以直接exit吗?

TOP

4# xlybzk


请把这些背景描述更新到顶楼
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 xlybzk 于 2011-5-27 10:43 编辑

不好意思,是我没说清楚。我需要不用进行操作的自动化无脑化的批处理
我是要把他放到封装好的操作系统中,通过封装工具在第2次重启时自动运行
备份IP配置并生成还原IP配置批处理
我在第一次重启进入桌面设定好公司给每一台机器分配的IP,
在第二次重启时自动备份IP,然后办公人员用其他未提前封装此批处理的系统盘,也可以自己恢复IP,
并且恢复IP配置后生成备份批处理(因为他用的不是提前封装此批处理的系统盘所以要生成备份批处理供以后用)

另外弱弱的说一句,大哥你的批处理我看不懂。我相信你的批处理肯定能用,等我搞明白在发表意见
已更新了,再次道歉。

TOP

做为一个批不就行了,运行时判断一下:
  1. @echo off
  2. :begin
  3. set "select="&set /p select=请选择(1.备份 2.还原):
  4. if "%select%" neq "1" if "%select%" neq "2" cls&goto begin
  5. cls&goto command%select%
  6. :command1
  7. netsh -c interface ip dump >ip.txt
  8. echo 备份完成
  9. ping /n 3 127.1>nul
  10. goto :eof
  11. :command2
  12. netsh -f ip.txt
  13. echo 完成还原
  14. ping /n 3 127.1>nul
复制代码
ps: echo echo......^>a.bat >>b.bat(要对>转义)
***共同提高***

TOP

请先用code标签将代码括起来。。。。

[code]
你的代码
[/(此处的文字和括号都不要是为了让你看到标签)code]
***共同提高***

TOP

返回列表