带条件的 PowerShell switch 语句
PowerShell switch statement with conditionals
如何在 PowerShell switch
语句中使用条件? returns 0
下面的代码应该 return 1000
.
$UsedSpaceMB = 8500
switch ($UsedSpaceMB) {
($UsedSpaceMB -gt 15000) { $FreeSpace = 2000 }
($UsedSpaceMB -in 8000..15000 ) { $FreeSpace = 1000 }
($UsedSpaceMB -in 1700..8000 ) { $FreeSpace = 500 }
($UsedSpaceMB -in 1000..1700 ) { $FreeSpace = 200 }
($UsedSpaceMB -in 800..1000 ) { $FreeSpace = 100 }
($UsedSpaceMB -lt 800 ) { $FreeSpace = 50 }
}
$FreeSpace
开关的语法不正确。
请参阅 here 文档。
$UsedSpaceMB = 8500
switch ($UsedSpaceMB) {
{$_ -gt 15000} { $FreeSpace = 2000 }
{$_ -in 8000..15000 } { $FreeSpace = 1000 }
{$_ -in 1700..8000 } { $FreeSpace = 500 }
{$_ -in 1000..1700 } { $FreeSpace = 200 }
{$_ -in 800..1000 } { $FreeSpace = 100 }
{$_ -lt 800 } { $FreeSpace = 50 }
}
$FreeSpace
或者您可以使用 -contains
switch ($UsedSpaceMB) {
{$_ -gt 15000} { $FreeSpace = 2000 }
{8000..15000 -contains $_ } { $FreeSpace =1000 }
{1700..8000 -contains $_} { $FreeSpace = 500 }
{1000..1700 -contains $_ } { $FreeSpace = 200 }
{800..1000 -contains $_ } { $FreeSpace = 100 }
{$_ -lt 800 } { $FreeSpace = 50 }
}
$FreeSpace
如何在 PowerShell switch
语句中使用条件? returns 0
下面的代码应该 return 1000
.
$UsedSpaceMB = 8500
switch ($UsedSpaceMB) {
($UsedSpaceMB -gt 15000) { $FreeSpace = 2000 }
($UsedSpaceMB -in 8000..15000 ) { $FreeSpace = 1000 }
($UsedSpaceMB -in 1700..8000 ) { $FreeSpace = 500 }
($UsedSpaceMB -in 1000..1700 ) { $FreeSpace = 200 }
($UsedSpaceMB -in 800..1000 ) { $FreeSpace = 100 }
($UsedSpaceMB -lt 800 ) { $FreeSpace = 50 }
}
$FreeSpace
开关的语法不正确。 请参阅 here 文档。
$UsedSpaceMB = 8500
switch ($UsedSpaceMB) {
{$_ -gt 15000} { $FreeSpace = 2000 }
{$_ -in 8000..15000 } { $FreeSpace = 1000 }
{$_ -in 1700..8000 } { $FreeSpace = 500 }
{$_ -in 1000..1700 } { $FreeSpace = 200 }
{$_ -in 800..1000 } { $FreeSpace = 100 }
{$_ -lt 800 } { $FreeSpace = 50 }
}
$FreeSpace
或者您可以使用 -contains
switch ($UsedSpaceMB) {
{$_ -gt 15000} { $FreeSpace = 2000 }
{8000..15000 -contains $_ } { $FreeSpace =1000 }
{1700..8000 -contains $_} { $FreeSpace = 500 }
{1000..1700 -contains $_ } { $FreeSpace = 200 }
{800..1000 -contains $_ } { $FreeSpace = 100 }
{$_ -lt 800 } { $FreeSpace = 50 }
}
$FreeSpace