String 将字符串转换为其他内容

String 将字符串转换为其他内容,string,powershell,size,powershell-2.0,String,Powershell,Size,Powershell 2.0,我的剧本现在快写完了。我用它来查找大文件夹/子文件夹等。。 我还不理解格式参数-f,尽管我检查了示例3次甚至更多次:) 现在,我的脚本按字符串排序大小。所以15MB比2MB小 我有大约300个文件夹要检查,最好把这个字符串转换成一个数字 提前谢谢你 以下是我的脚本中执行此操作的部分: function Folders-Size($folders) { $directories = @() foreach ($i in $folders) { $ch

我的剧本现在快写完了。我用它来查找大文件夹/子文件夹等。。 我还不理解格式参数-f,尽管我检查了示例3次甚至更多次:)

现在,我的脚本按字符串排序大小。所以15MB比2MB小

我有大约300个文件夹要检查,最好把这个字符串转换成一个数字

提前谢谢你

以下是我的脚本中执行此操作的部分:

    function Folders-Size($folders)
{
    $directories = @()
    foreach ($i in $folders)
    {
        $childItems = (Get-ChildItem $i.FullName -recurse | Measure-Object -property length -sum)
        $size = "{0:N2}" -f ($childItems.sum / 1MB)
        $name = $i.FullName
        $data = New-Object PSObject -Property @{ Name=$name; Size=$size}
        $directories += $data
    }    
    $directories = $directories | Sort-Object Size -descending
    $directories

}
尝试:

尝试:


我在本地机器上使用这个脚本,我这里有4个文件夹,大小分别为:1,5GB、10mb、0,01MB和0mb。现在它按如下顺序显示它们:10,00Mb,0,09MB,0,00Mb和最后1.572,67MB,不降序则相反。有些地方工作不正常。@RayofCommand我已经编辑了我的答案,你使用了编辑过的版本吗?@RayofCommand很乐意帮助!在第一个版本中,我错过了转换值的
/1MB
,然后转换为[int]返回错误的顺序!我在本地机器上使用这个脚本,我这里有4个文件夹,大小分别为:1,5GB、10mb、0,01MB和0mb。现在它按如下顺序显示它们:10,00Mb,0,09MB,0,00Mb和最后1.572,67MB,不降序则相反。有些地方工作不正常。@RayofCommand我已经编辑了我的答案,你使用了编辑过的版本吗?@RayofCommand很乐意帮助!在第一个版本中,我错过了转换值的
/1MB
,然后转换为[int]返回错误的顺序!
$directories | Sort-Object { [decimal]::parse($_.Size) } -descending