You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何利用DOS的%computername%变量通过IF语句设置静态IP

DOS 批处理实现代码

直接创建一个setip.bat文件,粘贴以下代码:

@echo off
:: 关闭命令回显,让输出更干净
set "nicName=Ethernet0"
:: 设置网卡名称,根据实际情况修改

:: 不区分大小写匹配主机名
if /i "%COMPUTERNAME%"=="PC201" (
    netsh interface ipv4 set address name="%nicName%" static 192.168.110.11 255.255.255.0 192.168.100.254
    goto end
)

if /i "%COMPUTERNAME%"=="PC202" (
    netsh interface ipv4 set address name="%nicName%" static 192.168.110.12 255.255.255.0 192.168.100.254
    goto end
)

if /i "%COMPUTERNAME%"=="PC203" (
    netsh interface ipv4 set address name="%nicName%" static 192.168.110.13 255.255.255.0 192.168.100.254
    goto end
)

echo 未匹配到预设的主机名,未执行IP设置
:end
exit /b

关键说明

  • if /i 实现不区分大小写的主机名匹配,避免大小写差异导致匹配失败
  • nicName 变量统一管理网卡名称,后续修改只需改一处
  • 每个分支执行完IP设置后通过goto end跳转到结束,避免执行后续判断

PowerShell 实现代码

创建一个Set-StaticIP.ps1文件,粘贴以下代码:

$nicName = "Ethernet0"
$gateway = "192.168.100.254"
$subnetMask = "255.255.255.0"

switch -CaseSensitive:$false ($env:COMPUTERNAME) {
    "PC201" {
        $ipAddress = "192.168.110.11"
        break
    }
    "PC202" {
        $ipAddress = "192.168.110.12"
        break
    }
    "PC203" {
        $ipAddress = "192.168.110.13"
        break
    }
    default {
        Write-Host "未匹配到预设主机名,跳过IP设置"
        exit
    }
}

# 使用netsh执行设置(和DOS逻辑一致)
netsh interface ipv4 set address name=$nicName static $ipAddress $subnetMask $gateway

# 或者用PowerShell原生命令(推荐,更符合PowerShell规范)
# Get-NetAdapter -Name $nicName | Set-NetIPAddress -IPAddress $ipAddress -PrefixLength 24 -DefaultGateway $gateway

关键说明

  • switch -CaseSensitive:$false 实现不区分大小写匹配
  • 变量集中管理网关、子网掩码,便于统一修改
  • 可选使用PowerShell原生命令Set-NetIPAddress,比netsh更适合PowerShell环境

通用注意事项

  • 管理员权限:无论用批处理还是PowerShell,都需要右键选择「以管理员身份运行」,否则会因权限不足执行失败
  • 网卡名称验证:执行netsh interface ipv4 show interfaces(DOS/PowerShell都可)查看实际网卡名称,避免因名称错误导致设置失败
  • 测试建议:可以先把netsh命令换成echo,比如echo netsh ...,先验证主机名匹配逻辑是否正确,再执行真实设置

内容的提问来源于stack exchange,提问作者tommyketchup

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 03:35:28