无忧启动论坛

标题: 如何批处理修改hosts 文件中的ip , [打印本页]

作者: 2011xilou    时间: 2012-1-9 15:03
标题: 如何批处理修改hosts 文件中的ip ,
c:\bat\netlink\hosts   hosts文件里面有个ip130.1.1.121 ,现在在就在某种情况下需要将Ip 改为130.1.1.122 。批处理该怎么写,这两个ip 要互相改,就是130.1.1.121不能用时候就改为122,反之。有没高手知道如何写这个批处理。。多谢,我的理解是判断ip为121时候就改为122,122时候就改为121,但不知如何实现

[ 本帖最后由 2011xilou 于 2012-2-20 12:00 编辑 ]
作者: pznpt    时间: 2012-1-9 22:15
看不懂。。。。。。
正常情况下,hosts文件在%windir%\system32\drivers\etc下。
把hosts内容贴出来,要求说清楚。。。。
作者: 2011xilou    时间: 2012-1-10 08:08
路径没关系。主要是修改里面的ip ,有时候telnet 不上服务器,能ping 通。改下hosts 文件ip 就可以了。手动修改太麻烦。每次这样很烦。所以就两个ip 切换使用。这个不行换那个。
作者: pznpt    时间: 2012-1-10 14:45
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set ph=%windir%\system32\drivers\etc&set phn=!ph!\hosts
  4. type !phn! |findstr "\<130.1.1.121\>">nul
  5. if %errorlevel%==0 set "addr1=130.1.1.121"&set "addr2=130.1.1.122"
  6. type !phn! |findstr "\<130.1.1.122\>">nul
  7. if %errorlevel%==0 set "addr1=130.1.1.122"&set "addr2=130.1.1.121"
  8. if not defined addr1 (echo IP不对&pause&goto :eof) else echo 现IP地址为!addr1! 按任意键改为!addr2!&pause>nul
  9. (for /f "delims=" %%a in ('type !phn!') do (
  10. set aa=%%a & set aa=!aa:%addr1%=%addr2%!
  11. echo !aa!
  12. ))>!ph!\hosts.tmp
  13. del !phn!>nul&ren !ph!\hosts.tmp hosts>nul&pause
复制代码


%ph%改成你自定义的实际路径,试试
作者: 2011xilou    时间: 2012-1-11 08:38
嘿嘿。可以呀。。多谢呀。我就是寻找那字符串,判断不好弄。。水平不够。。研究下。无忧高人还是多呀

[ 本帖最后由 2011xilou 于 2012-1-11 09:11 编辑 ]




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3