Számlálás (Measure-Object)

Tetszőleges objektumcsoport elemeivel kapcsolatos összegzést átlagolást, stb. végezhetünk el a Measure-Object  cmdlet segítségével. A cmdlet két különböző üzemmódban használható, és ennek megfelelően két különböző típusú objektumot adhat kimenetül. Szöveges üzemmódot a -line, -word, -character paraméterek valamelyikével kérhetünk, ekkor a bemenetként érkező objektumok szöveges reprezentációjából származó értékek kerülnek a kimenetbe, vagyis a cmdlet megszámolja a szövegben található sorokat, szavakat és karaktereket. 

Például, számoljuk meg egy fájlba kitett könyvtárlista dir.txt sorait, szavait és karaktereit! A megoldás egyszerűen a következő (az -ignorewhitespace paraméter használata esetén a szóközök és tabulátorok nem számítanak bele a karakterek számába):

PS C:\> get-content c:\dir.txt | measure-object -ignorewhitespace -line -word -char | format-table -autosize

 

Lines Words Characters Property

----- ----- ---------- --------

   13    55        403

Ha a -property paraméter után megadjuk a bemenő objektumok valamelyik tulajdonságának nevét, akkor a kimeneten a megadott tulajdonság összege, átlaga, maximális és minimális értéke fog megjelenni.

Például összegezzük a rendszerfolyamatok fizikai memóriafoglalását! A megoldás egyszerűen a következő:

PS C:\> get-process | measure-object -property workingset -sum -average -m

ax -min

 

 

Count    : 42

Average  : 4400664,38095238

Sum      : 184827904

Maximum  : 80818176

Minimum  : 16384

Property : WorkingSet

A count sorban lévő szám ebben az esetben azt jelenti, hogy 42 darab „workingset” tulajdonságot átlagolt, illetve összegzett a cmdlet, vagyis ennyi Process objektumot kapott bemenetként.

Ha csak a fenti statisztika egyik számadatával szeretnénk dolgozni, akkor a szokásos tulajdonsághivatkozással ezt is megtehetjük. Például szeretném a fenti memóriafoglalást megabájtokban kijelezni:

[7] PS I:\>(get-process | measure-object -property workingset -sum).sum / 1m

b

968,5390625



Word To HTML Converter