我在一家软件公司工作。我已经使用批处理文件来使用dir和du来获取文件夹大小,但是在dir中花费1秒,在du中花费600毫秒来计算文件夹大小为5GB。但我希望它对产品来说更快。那么有没有命令行支持的命令或工具可以更快地执行任务?命令可以是任何类型(bat,vbs,powershell ....)
提前谢谢....
答案 0 :(得分:2)
Powershell解决方案。
在https://technet.microsoft.com/en-us/library/ff730945.aspx
了解详情$colItems = (Get-ChildItem C:\temp -Recurse | Measure-Object -Property length -Sum)
"{0:N2}" -f ($colItems.sum / 1MB) + " MB"
措施:
PS C:\> Measure-Command -Expression {
$colItems = (Get-ChildItem C:\temp -Recurse | Measure-Object -Property length -Sum)
"{0:N2}" -f ($colItems.sum / 1MB) + " MB"
}
Days : 0
Hours : 0
Minutes : 0
Seconds : 2
Milliseconds : 509
Ticks : 25092400
TotalDays : 2,90421296296296E-05
TotalHours : 0,000697011111111111
TotalMinutes : 0,0418206666666667
TotalSeconds : 2,50924
TotalMilliseconds : 2509,24
与shell com对象相同:
$objFSO = New-Object -ComObject Scripting.FileSystemObject
"{0:N2}" -f (($objFSO.GetFolder("C:\temp").Size) / 1MB) + " MB"
措施:
PS C:\> Measure-Command -Expression {
$objFSO = New-Object -ComObject Scripting.FileSystemObject
"{0:N2}" -f (($objFSO.GetFolder("C:\temp").Size) / 1MB) + " MB"
}
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 719
Ticks : 7197995
TotalDays : 8,33101273148148E-06
TotalHours : 0,000199944305555556
TotalMinutes : 0,0119966583333333
TotalSeconds : 0,7197995
TotalMilliseconds : 719,7995