如何使用Powershell获取文件夹的更新大小

时间:2019-01-02 12:20:06

标签: windows powershell

我需要使用Powershell检查特定文件夹的大小。此文件夹的大小正在不断增长。但是,尽管如此,Powershell始终返回相同的大小。

示例:
Powershell返回1000079693
等待5秒
Powershell STILL返回1000079693

唯一的例外是,如果我转到该文件夹​​,右键单击并单击属性。我相信这会更新OS中的某些内容。或者我可以等待很长时间(例如5分钟),执行完此操作后,Powershell会为我显示文件夹大小的新数字。

我的问题是,如何强制Powershell立即获得最新的文件夹大小,而不是返回旧大小?

try{
    $size = Get-ChildItem "C:\Users\Administrator\Desktop\GUIClicker\ButtonsThatAreReady" -Recurse -ErrorAction stop |
        Measure-Object -property length -sum
    Write-Host $size.sum
} catch{
    Write-Host ":Error:"
}

1 个答案:

答案 0 :(得分:0)

在脚本运行时(从单独的PowerShell会话)执行此操作

DO {
$a
Get-ChildItem -Path "C:\Users\Administrator\Desktop\GUIClicker\ButtonsThatAreReady" -Force | Measure-Object -Property length -Sum | Select-Object Sum
Start-Sleep -s 1
$a++
} Until ($a -ge 10)

按照本文所述,此过程将运行约10秒钟,用您要执行的秒数替换10,并将睡眠时间从1秒更改为所需的秒数。