如何接受MB [int]中的powershell输入

时间:2015-05-30 10:55:50

标签: powershell

如何强制用户输入为MB而不是默认的KB / Decimal? 让我们说我有一个ValidateRange min / max参数的函数。我希望用户以MB而不是KB输入数字,这可能吗?

示例:

Function Get-Bigfiles 
{ 
    param ( 
        [parameter(Mandatory=$true)] 
        [ValidateRange(1MB,100MB)] $Size 
    ) 

    Get-ChildItem C:\Windows\System32 | `
        Where-Object {$_.Length -gt $Size -and !$_.PSIscontainer} 
} 

1 个答案:

答案 0 :(得分:5)

用户输入没有附带任何单位。 5是5.它既不是5升也不是5磅,也不是5 MB也不是KB。

如果你想输入150平均150 MB,那就没关系。当您检查以字节为单位的filesize时,您需要将150乘以1024以使其具有相同的KB数和1024再次具有字节数。