永发信息网

如何批处理同时修改ip和hosts?

答案:3  悬赏:20  手机版
解决时间 2021-08-12 17:37
  • 提问者网友:火车头
  • 2021-08-12 13:48

cls
@ECHO OFF
CLS
color 0a

GOTO MENU
:MENU
ECHO.
ECHO.               =-=-=-=-=批处理菜单示例=-=-=-=-=
ECHO.
ECHO.                       1  外网
ECHO.
ECHO.                       2  内网
ECHO.
ECHO.                       3  退   出
ECHO.
ECHO.
ECHO.
echo.                请输入选择项目的序号:
set /p  ID=
if “%id%”==“1”  goto cmd1

if “%id%”==“2” goto cmd2

IF “%id%”==“3”  exit
PAUSE

:cmd1


echo 正在修改。。。。请稍等
rem 本行是注释,下行中的“本地连接”是你网卡的名字,下面命令中的xxx依次是,IP地址 掩码 网关.我的是固定IP的,就不告诉大家了
netsh interface ip set address name="本地连接" source=static addr=192.168.1.47 mask=255.255.255.0 gateway=192.168.1.254 gwmetric=1
@echo off&&setlocal enabledelayedexpansion
set datais=%SystemRoot%\system32\drivers\etc\
if exist !datais!hosts_bak del !datais!hosts_bak/f/q
for /f "tokens=*" %%a in (!datais!hosts) do (
set var=%%a
set "var=!var:10.138.220.1=192.168.1.2!"
>>!datais!hosts echo !var!
)
ren !datais!hosts hosts_bak
ren !datais!hosts hosts
echo                 成功了,按任意键退出!
pause>nul
exit

:cmd2

echo 正在修改。。。。请稍等
netsh interface ip set address name="本地连接" source=static addr=10.138.220.47 mask=255.255.255.0 gateway=10.138.220.1  gwmetric=1
@echo off&&setlocal enabledelayedexpansion
set datais=%SystemRoot%\system32\drivers\etc\
if exist !datais!hosts_bak del !datais!hosts_bak/f/q
for /f "tokens=*" %%a in (!datais!hosts) do (
set var=%%a
set "var=!var:1192.168.1.2=10.138.220.1!"
>>!datais!hosts echo !var!
)
ren !datais!hosts hosts_bak
ren !datais!hosts hosts
echo                 成功了,按任意键退出!
pause>nul
exit

不知错在哪里

最佳答案
  • 五星知识达人网友:三千妖杀
  • 2021-08-12 14:04
脚本可以实现,参考:

changeHosts.vbs
=====================================================================

Set   objFSO   =   CreateObject( "Scripting.FileSystemObject ")   '文件系统对象
strSystem   =   GetSystemPath() '获取System目录
strHostPath   =   GetHostFilePath()   'host   文件所在目录

Call   ModifyHost(strHostPath) '修改HOST文件

'========================================================================
'获取SYSTEM目录
'========================================================================
Function   GetSystemPath()
Const   SystemFolder   =   1
Set   GetSystemPath   =   objFSO.GetSpecialFolder(SystemFolder)
End   Function


'========================================================================
'获取HOST文件所在目录
'========================================================================
Function   GetHostFilePath()
GetHostFilePath   =   strSystem   &   "\drivers\etc "
End   Function

'========================================================================
'去除文件只读属性
'========================================================================
Function   ClearFileAttrib(strFile)
If   objFSO.FileExists(strFile)   Then  
Set   f   =   objFSO.GetFile(strFile)
f.Attributes   =   0
End   If  
End   Function

'========================================================================
'修改HOST文件
'========================================================================
Function   ModifyHost(strHostPath)
strHostFile   =   strHostPath   &   "\hosts "
strHostBak   =   strHostPath   &   "\hosts.bak "
Const   ForReading   =   1,   ForWriting   =   2,   ForAppending   =   8
objFSO.CopyFile   strHostFile   ,   strHostBak
Set   objFile   =   objFSO.OpenTextFile(strHostFile,   ForReading,   False)
strContents   =   objFile.ReadAll
objFile.Close

Set   objFile   =   objFSO.OpenTextFile(strHostFile,   ForAppending,   False)
objFile.WriteBlankLines   1
compResult   =   Instr(strContents, "192.168.0.136 ")
If   compResult   =   0   Then   objFile.WriteLine( "192.168.0.136 "   &   Chr(9)   &   "bwprd ")
compResult   =   Instr(strContents, "192.168.0.135 ")
If   compResult   =   0   Then   objFile.WriteLine( "192.168.0.135 "   &   Chr(9)   &   "bwdev ")
compResult   =   Instr(strContents, "192.168.0.171 ")
If   compResult   =   0   Then   objFile.WriteLine( "192.168.0.171 "   &   Chr(9)   &   "bwqas ")
objFile.close
End   Function
全部回答
  • 1楼网友:英雄的欲望
  • 2021-08-12 15:36
DNS,Domain Name System或者Domain Name Service(域名系统或者余名服务)。域名系统为Internet上的主机分配域名地址和IP地址。用户使用域名地址,该系统就会自动把域名地址转为IP地址。域名服务是运行域名系统的Internet工具。执行域名服务的服务器称之为DNS服务器,通过DNS服务器来应答域名服务的查询。 更多请参考 http://zhidao.baidu.com/question/27369506.html www.fangyou-sh.com 提供仅供参考!
  • 2楼网友:迷人又混蛋
  • 2021-08-12 15:21
飘过
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯