0

    Windows采用批处理脚本更换IPv4地址

    2023.04.20 | admin | 237次围观

    如需获取脚本本地适配器更改有什么用,请参考 文末方法!!!

    最近在客户现场使用不同的网络,经常要设置IP,每天设置好多次,太麻烦;所以通过“命令行+批处理+环境变量”的方法来更换IP,以节约时间。

    01

    bat命令简介

    批处理文件,是将命令按一定的顺序集合成一个可执行的文本文件,扩展名为bat或者cmd,统称批处理命令;可在DOS和Windows系统中执行。

    以下是一个简单批处理脚本:

    @echo offecho "Hello World"pause

    02

    开始

    在开始之前我们应该考虑一下问题,第一如何获取网卡名称(针对在不同操作系统版本中,网卡名称的不同,例如win7为“本地连接”、win10为“Ethernet”以及繁体等等)?第二如何获取管理员权限?第三如何设置固定IP、子网掩码、网关、DNS等?第四如何确认设置是否成功?接下来实现以上问题,最终达到我们想要的结果:

    第一、获取网卡名称

    常用获取网卡名称的命令多种多样,我们可以采用Getmac命令、wmic nic和wmic nicconfig命令、netsh interface ip命令、nbtstat命令等等,在经过筛选、提取,最终获得我们需要的信息,以下对上述命令简单介绍:

    ⭐GETMAC命令

    该命令返回计算机中所有网卡的媒体访问控制(MAC)地址以及每个地址的网络协议列表本地适配器更改有什么用,该命令可以从本地返回也可从网络返回。

    用法:

    GETMAC/S IP[访问地址] /U 用户名 /P 密码

    语法参数:

    /S Computer :指定远程计算机名或IP,默认本地计算机

    /U Domain/User:指定账户权限

    /P Password:指定账户密码

    /FO{TABLE|LIST|CSV}:指定查询结果输出格式, 有效值为 "TABLE"、"LIST"、"CSV",默认输出格式TABLE

    /NH:指定在输出中不显示“列标题”,只对 TABLE 和 CSV 格式有效

    /V:指定显示详细输出

    /?:提示符显示帮助信息

    GETMAC /V /NH /FO CSV #获取网卡名称

    输出:

    ⭐wmic nic和wmic nicconfig命令

    wmic是扩展WMI(Windows Management Instrumentation,Windows管理工具),提供了从命令行接口和批命令脚本执行系统管理的支持。即wmic是命令行管理工具。WMIC不仅可以管理本地计算机还可以管理同一域内的所有计算机(前提被管理计算机需要支持WMI)。WMIC通过WMIC.exe来分析、解释和执行接收的别名(Alias)的引擎,该文件位于“c:\windows\system32\wbem”文件夹中(支持WinXP、Win2003、win7等)。具体详细使用方法参考帮助文档,接下来简单介绍获取已连接的网卡名称时采用的命令:

    # 获取网卡所有信息wmic nic getwmic nicconfig get# 信息筛选# NetEnabled 值为 TRUE 时,网络适配器[已启用]且[已连接]# NetEnabled 值为 FALSE 时,网络适配器[已禁用]或[未连接]wmic nic where "NetEnabled='TRUE'" get Index,NetConnectionID# IPEnabled 值为 TRUE 时,网络适配器[已连接]# IPEnabled 值为 FALSE 时,网络适配器[未连接]wmic nicconfig where IPEnabled=“true” get Index, Caption# 更改IPwmic nicconfig where Index=1 call EnableDHCP //动态获取wmic nicconfig where Index=1 call EnableStatic (“192.168.1.1”), (“255.255.255.0”)   //静态IP,设置index=1的网卡

    ⭐netsh interface ip命令

    netsh是一个Windows系统本身提供的网络配置命令

    用法:

    netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [DomainName\]UserName] [-p Password | *][Command | -f ScriptFile]

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    标签: 批处理netsh
    发表评论