是否有更短的方法来实现我的小动作?
$ipsubnet
来自以下格式:X.X.X.0
我想在第三个X上添加+1,例如X.X.(X+1).0
$tmp = $ipsubnet -replace '..$', ''
$tmp -match '.$'
$tmp2 = [int]$Matches[0]+1
$tmp = $tmp -replace '.$', '$tmp2'
$ipsubnet = $tmp + ".0"
答案 0 :(得分:0)
$sm = "255.255.48.0".Split('.')
if([int]$sm[2] -lt 255) { $sm[2]=([int]$sm[2]+1).ToString(); }
$sm = $sm -join "."
$sm
此答案将考虑第二行if语句中子网掩码(255)中八位字节的最大值。 它还允许您在第一行中提供基本字符串作为输入。这可以用变量代替。请注意,这不是检查'子网掩码的有效性,因为只有特定的值才能构成有效的子网掩码。