将输入转换为整数并在powershell中进行算术运算

时间:2016-11-02 18:39:30

标签: powershell

不确定如何将字符串转换为整数,然后对其执行“添加1”。这就是我想要做的事情:

1)从提示中捕获IP地址

2)使用增加的IP创建变量列表:

$startIP = Read-Host 
$ip1 = $startIP
$ip2 = $ip1 + 1
$ip3 = $ip2 + 1

例如,我们输入10.0.0.1,然后$ip2将是10.0.0.2,依此类推。

我知道我需要在读取输入后将其转换为整数,但我不确定如何做到这一点。非常感谢!

1 个答案:

答案 0 :(得分:1)

找到这些将IP转换为Int64并返回

的函数
Function Convert-IpToInt64 () { 
    param ([String]$ip) 
    process { 
        $octets = $ip.split(".") 
        return [int64]([int64]$octets[0]*16777216 +[int64]$octets[1]*65536 +[int64]$octets[2]*256 +[int64]$octets[3]) 
    }
} 

Function Convert-Int64ToIp() { 
    param ([int64]$int) 
    process {
        return (([math]::truncate($int/16777216)).tostring()+"."+([math]::truncate(($int%16777216)/65536)).tostring()+"."+([math]::truncate(($int%65536)/256)).tostring()+"."+([math]::truncate($int%256)).tostring() )
    }
}

通过它,您现在可以将输入转换为可以递增的内容

$startIP = Read-Host 
$ip1 = Convert-IpToInt64 $startIP
$ip2 = $ip1 + 1
$ip3 = $ip2 + 1