写PowerShell脚本的朋友可能汇总结果时经常会用到Group-Object命令。Group-Object 有一个非常隐蔽的参数-NoElement,适用于只统计分组结果的个数,不返回每个组中的元素,这样可以最大限度的避免浪费内存。
下面的输出演示两种结果的输出差别:
PS> dir $env:windir | Group-Object -Property Extension Count Name Group ----- ---- ----- 58 {addins, AppCompat, AppPatch, assembly...} 1 .NET {Microsoft.NET} 12 .exe {bfsvc.exe, explorer.exe, fveupdate.exe, HelpPane.exe...} 2 .dat {bootstat.dat, nsreg.dat} 11 .log {DAI.log, DAI_lenovo.log, DtcInstall.log, IE11_main.log...} 1 .bin {mib.bin} 4 .ini {msdfmap.ini, ODBC.INI, system.ini, win.ini} 1 .txt {ntbtlog.txt} 3 .xml {Professional.xml, Starter.xml, win7.xml} 1 .scr {Scr1103.scr} 2 .dll {twain.dll, twain_32.dll} 1 .prx {WMSysPr9.prx} PS> dir $env:windir | Group-Object -Property Extension -NoElement Count Name ----- ---- 58 1 .NET 12 .exe 2 .dat 11 .log 1 .bin 4 .ini 1 .txt 3 .xml 1 .scr 2 .dll 1 .prx
本文链接: https://www.pstips.net/group-object-by-saving-memory.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!