Powershell 更改IP地址并使用findtr命令

Powershell 更改IP地址并使用findtr命令,powershell,cmd,ip,ip-address,powershell-3.0,Powershell,Cmd,Ip,Ip Address,Powershell 3.0,我不确定CMD是否真的能够做到这一点,所以我也愿意接受powershell的建议 我要做的是在Ip地址的最后一个八位字节中添加20: 10.134.12.150 到 10.134.12.170 我相信这个过程是: 在ipconfig中查找IPv4字符串 找到第四个” +“后20” 拆分地址并将结果强制转换为字节数组。在最后一个元素(如-1)上加上20,然后将数字连接起来 PS> $octet = [byte[]]('10.134.12.150' -split '\.') 10 134 12

我不确定CMD是否真的能够做到这一点,所以我也愿意接受powershell的建议

我要做的是在Ip地址的最后一个八位字节中添加20:

10.134.12.150

10.134.12.170

我相信这个过程是:

  • 在ipconfig中查找IPv4字符串

  • 找到第四个”

  • +“后20”


  • 拆分地址并将结果强制转换为字节数组。在最后一个元素(如-1)上加上20,然后将数字连接起来

    PS> $octet = [byte[]]('10.134.12.150' -split '\.')
    10
    134
    12
    150
    
    PS> $octet[-1]+=20
    PS> $octet
    10
    134
    12
    170
    
    PS> $octet -join '.'
    10.134.12.170
    

    如何将命令(如“ipconfig”)转换为字节数组?ipconfig输出包括文本和ip地址。你想用同样的方法解析当前的ip地址吗?很抱歉回复这么晚。我遇到的问题是:$ip=ipconfig | findstr“IPv4”我试图将IPv4地址设置为$ip变量,但它无法将值转换为“System.Byte”,这是强制转换字节数组所必需的。ipconfig | findstr“IPv4”返回的不仅仅是一个ip地址。请尝试提取地址:$ip=(ipconfig | findstr“IPv4”).split(“:”)[1].trim()这正是我要找的!非常感谢。