Jak počítat objekty v PowerShellu

28. května 2021 37667 Pohledy powershell-count

Existuje tolik důvodů, proč můžete chtít počítat objekty v PowerShellu. Jako příklad můžete chtít počítat chybové zprávy v protokolu událostí.

Kromě toho můžete chtít spočítat počet souborů v konkrétní složce.

Cokoli potřebujete v PowerShellu počítat, můžete použít buď Počet Operátor nebo Měřit-objekt Rutina. Tato příručka vás naučí různé příklady, které demonstrují, jak počítat s oběma metodami.

Průvodce je rozdělen do dvou částí. V první části se dozvíte, jak používat Počet Operátor s 8 různými příklady.

Nakonec vás v druhé části naučím počítat s Měřit-objekt Rutina.

Procházet témata příspěvků

Jak počítat v PowerShell s Počet Operátor

Jak již bylo zmíněno v úvodu, v této první části vás naučím počítat s Počet Operátor . Sekce začíná syntaxí souboru Počet Operátor .

Poté sdílím osm příkladů různých způsobů, jak můžete počítat s Počet Operátor .

Syntaxe prostředí PowerShell Počet Operátor

Syntaxe prostředí PowerShell Počet Operátor je:

|_+_|

PowerShell Počet Operátor k objektu lze přistupovat zabalením objektu do závorky (). Poté přidejte tečku (.) následovanou slovem, počet .

Jak používat PowerShell Počet Operátor Chcete-li počítat protokoly událostí

První příklad aplikace vám ukáže, jak počítat protokoly událostí.

V tomto příkladu chci spočítat počet chybových zpráv v Systém přihlásit se za posledních 24 hodin. Mohl bych spustit jeden příkaz, ale aby to bylo srozumitelné, rozeberu to.

Prvním krokem je uložení posledních 24 hodin do proměnné pomocí Get-Date příkaz.

Zde je příkaz…

|_+_|

Zadejte příkaz do prostředí PowerShell a stisknutím klávesy Enter jej spusťte.

Jak používat metodu počítání PowerShell k počítání protokolů událostí

Dále spusťte Get-EventLog příkaz, rourou výstup do Kde-Objekt a filtrujte podle chyby. Uložte výsledek příkazu do proměnné s názvem $ErrorLogCount .

|_+_|

Pokud chcete zobrazit seznam chybových zpráv, spusťte proměnnou $ErrorLogCount.

|_+_|

Zde jsou příkazy v PowerShellu…

Všimněte si, že existuje 5 protokolů chyb. To je snadné spočítat – pokud však výsledek měl stovky výsledků, jak je spočítáte?

Použijte PowerShell Počet Operátor ! Zde je poslední příkaz, který počítá počet chybových protokolů ve výsledku posledního příkazu…

|_+_|

A jak se očekávalo, výsledek je 5!

Jak používat metodu počítání PowerShell k počítání protokolů událostí

Pokud chcete spouštět příkazy v jediném příkazu, zde je příkaz…

|_+_|

Výsledek je stejný…

Jak používat PowerShell Počet Operátor pro počítání souborů ve složce

Další aplikace prostředí PowerShell Počet Metodou je spočítat počet souborů ve složce. V této části se dozvíte, jak počítat soubory ve složce.

Získáte také způsob, jak počítat soubory ve složce a všech podsložkách. Nakonec vás naučím používat PowerShell Počet Metoda počítání souborů podle data.

Prvním krokem k počítání souborů ve složce je použití Get-ChildItem příkaz k vrácení souborů ve složce. V tomto příkladu uložím výsledek Get-ChildItem příkaz v proměnné s názvem seznam souborů .

|_+_|

Ve druhé části příkazu jsem převedl výstup souboru Get-ChildItem příkaz k Kde-Objekt . The Kde-Objekt příkaz má! před $_.PSIsContainer – to říká Kde-Objekt vrátit všechny objekty kromě složek.

Zde je příkaz v PowerShellu. Pro zobrazení výsledků uložených v proměnné jsem spustil proměnnou…

Jak používat metodu počítání PowerShell k počítání souborů ve složce

Nakonec, abyste spočítali počet souborů, zabalte výsledek do prostředí PowerShell Počet Operátor .

|_+_|

Výsledek ukazuje, že existuje 37 souborů.

Pokračujeme, co když chceme spočítat soubory ve složce a všech podsložkách? To vyžaduje jednoduše přidat Rekurze parametr k Get-ChildItem kousek příkazu.

Zde je upravený příkaz, který počítá soubory ve složce a všech jejích podsložkách. Tentokrát jsem příkaz spustil jako jeden příkaz.

|_+_|

Zde je výsledek se 40 soubory.

Jak používat metodu počítání PowerShell k počítání souborů ve složce

Jak používat PowerShell Počet Operátor pro počítání souborů ve složce podle data

V poslední části jsem vám ukázal, jak spočítat všechny soubory ve složce a podsložkách.

V této části vám ukážu, jak spočítat počet souborů ve složce na základě data.

Abyste tomuto příkladu pomohli porozumět, spusťte tento příkaz z našeho předchozího příkladu.

|_+_|

Nyní spusťte proměnnou. Výsledek ukazuje, že soubory mají vlastnost tzv LastWriteTime .

The LastWriteTime vlastnost označuje, kdy byl soubor naposledy vytvořen nebo aktualizován. Z toho vyplývá, že tuto vlastnost můžeme zahrnout do Kde-Objekt filtr – pak vrátí pouze soubory, které byly aktualizovány nebo vytvořeny k určenému datu.

V tomto příkladu chci počítat pouze soubory aktualizované nebo vytvořené za posledních 24 hodin. Budu tedy potřebovat datový filtr.

Chcete-li vygenerovat filtr data, spusťte níže uvedený příkaz a uložte výsledek do proměnné…

|_+_|

Poté použijte proměnnou, $Posledních 24 hodin jako přídavný filtr v Kde-Objekt straně předchozího příkazu. Zde je aktualizovaný příkaz.

|_+_|

Příkaz zavádí nový filtr $_.LastWriteTime -ge $Last24Hours. Toto porovnává LastWriteTime vlastnost každého souboru s datem uloženým v $Posledních 24 hodin proměnná.

Poté libovolný soubor s LastWriteTime větší nebo rovno (ge) datu v proměnné (posledních 24 hodin), bude vráceno ve výsledku. Nicméně jakýkoli soubor s LastWriteTime který spadá mimo tento rozsah, je odstraněn.

Jak úžasné!

Příkaz vrátil pouze 3 soubory!

Nakonec, chcete-li spočítat soubory v této složce a všech jejích podsložkách, které byly vytvořeny nebo aktualizovány za posledních 24 hodin, použijte PowerShell Počet Operátor příkaz níže:

|_+_|

Zde je výsledek v PowerShellu…

Jak používat PowerShell Počet Operátor Počítání Objektů V Pole

Nedávno jsem aktualizoval náš článek PowerShell Arrays. V poslední aktualizaci článku jsem vytvořil pole.

Zde je skript, který vytvoří pole uložené v proměnné, ArrayList .

|_+_|

PowerShell Array má a Počet Vlastnictví . Tuto vlastnost můžete použít tak, jak jsme ji použili v předchozích příkladech v tomto článku.

Chcete-li tedy počítat objekty v poli PowerShell uložené v ArrayList proměnnou, spusťte příkaz níže…

|_+_|

Výsledek je 3 – potvrzující počet objektů v našem poli!

Jak používat PowerShell Count Operator k počítání objektů v poli

Jak počítat v PowerShellu s rutinou Measure-Object

Jak počítat v PowerShellu s rutinou Measure-Object

V poslední části této příručky jste viděli různé způsoby použití prostředí PowerShell Počet Operátor počítat předměty. Tato část vás naučí, jak počítat objekty pomocí Měřit-objekt Rutina.

Jak byste viděli v příkladech v této části, Měřit-objekt Rutina nabízí více možností počítání objektů.

Před příklady však začněme syntaxí souboru Měřit-objekt Rutina.

Syntaxe rutiny Measure-Object

Chcete-li zobrazit úplnou syntaxi souboru Měřit-objekt Rutina, spusťte níže uvedený příkaz:

|_+_|

Z výsledku příkazu, Měřit-objekt Rutina má dvě syntaxe. Zde jsou zjednodušené verze syntaxí:

|_+_| |_+_|

První syntaxi můžete použít k vrácení průměrných, minimálních a maximálních hodnot objektů. Pokud však chcete spočítat počet znaků, odstranit mezery, počítat řádky nebo slovo, použijte druhou syntaxi.

V následujících podkapitolách proberu různé příklady použití Měřit-objekt k počítání objektů v PowerShellu.

Jak používat rutinu Measure-Object k počítání znaků v řetězci

SysAdmins bude většinou muset spočítat celkový počet položek v řetězci nebo objektu PowerShell. Ve vzácných případech však mohou SysAdmins narazit na automatické úlohy PowerShellu, které vyžadují podrobnější počítání.

Můžete být například požádáni, abyste spočítali počet znaků v řetězci. V tomto příkladu vás naučím, jak spočítat celkový počet znaků v řetězci.

Aby bylo jasno, znak je jeden objekt jako 1 nebo a.

Začněme velmi jednoduchým příkladem, abychom spočítali počet znaků v tomto řetězci čísel

|_+_|

Je zřejmé, že existuje šest postav, ale jak spočítáme postavy s PowerShell? Jednoduchá odpověď je poslat výsledek potrubím do Měřit-objekt příkaz a zadejte Charakter parametr.

Zde je příkaz…

|_+_|

Dalším způsobem, jak spustit příkaz, je zadat řetězec 123456 s proměnnou InputObject místo toho, aby se dal do potrubí…

|_+_|

Oba příkazy dávají stejný výsledek, 6!

Jak počítat v PowerShellu pomocí rutiny Measure-Object: Jak používat rutinu Measure-Object k počítání znaků v řetězci

Jak počítat konkrétní znak v řetězci

Nyní pro pokročilejší příklad – co když chcete spočítat počet konkrétního znaku v řetězci?

Řekněme například, že chcete spočítat, kolikrát se číslo 2 vyskytuje v tomto řetězci:

|_+_|

Prvním krokem je převedení řetězce na pole znaků Unicode. Chcete-li toho dosáhnout, použijte ToCharArray Metoda .

Zde je příkaz…

|_+_|

Příkaz dělá rozdělení řetězce na členy pole PowerShell Array . Zde je výsledek…

Nyní, když jste řetězec převedli na pole, je dalším krokem jeho propojení Kde-Objekt . Poté v Kde-Objekt filtrační blok, použijte $_ automatická proměnná pro vrácení znaků, které chcete počítat.

V tomto příkladu chceme spočítat všechny výskyty 2. Toto je příkaz, který provádí tuto úlohu…

|_+_|

Příkaz vrací pouze znaky, které chceme počítat.

Jak počítat v PowerShellu pomocí rutiny Measure-Object: Jak používat rutinu Measure-Object k počítání konkrétních znaků v řetězci

Nakonec přeneste poslední příkaz do Měřit-objekt .

|_+_|

Konečný výsledek nám říká, že znak 2 se v původním řetězci objevil třikrát, 123456225.

Jak můžete vidět z posledního příkazu, výsledek má spoustu dalších informací. Obsahuje také slovo Count.

Co když chcete zobrazit počet znaků bez těchto dalších irelevantních informací?

Jednoduše uzavřete předchozí příkaz do závorky () následované tečkou (.). Nakonec přidejte slovo Počet .

Počet je vlastnost zvýrazněná na posledním snímku obrazovky. Je to stejný PowerShell Počet Vlastnictví jsme diskutovali v této příručce.

|_+_|

Tady to máš, klídek!

Jak počítat v PowerShellu pomocí rutiny Measure-Object: Jak používat rutinu Measure-Object k počítání konkrétních znaků v řetězci

Jak používat PowerShell Measure-Object k počítání počtu řádků v textovém souboru

Příklady v této sekci jsou stále vzrušující!

V této podsekci bych chtěl hru trochu vylepšit. Chci vám ukázat, jak spočítat počet řádků v textovém souboru.

Řekněme, že chcete spočítat počet řádků v textovém souboru zobrazeném na tomto snímku obrazovky…

Prvním krokem je použití Získejte obsah příkaz k vrácení obsahu souboru. Poté výstup potrubím do Měřit-objekt a specifikujte Čára parametr.

Zde je poslední příkaz…

|_+_|

A tady je výsledek…4 řádky v textovém souboru…

Jak používat PowerShell Measure-Object k počítání počtu řádků v textovém souboru

Případně, pokud chcete spočítat počet slov v textovém souboru, nahraďte znak Čára parametr s Slovo .

|_+_|

Shodou okolností jsou tam také 4 slova.

Jak používat rutinu PowerShell Measure-Object k počítání řádků v souboru CSV

V tomto dalším příkladu chci spočítat počet řádků v tomto souboru CSV. Jak vidíte, existuje 15 řádků.

Jak používat rutinu PowerShell Measure-Object k počítání řádků v souboru CSV

Postup je podobný jako počítání počtu řádků v textovém souboru. Je to však méně komplikované.

Chcete-li spočítat počet řádků v souboru CSV výše, použijte nejprve Import-Csv příkaz pro výpis obsahu souboru CSV. Poté připojte výstup z Import-Csv příkaz k Měřit-objekt .

Zde je poslední příkaz…

|_+_|

A výsledek…

Ještě jednou, pokud chcete zobrazit pouze počet řádků, spusťte příkaz níže…

|_+_|

Jak používat rutinu PowerShell Measure-Object k počítání výskytů řetězců v souboru

Toto je další vzrušující příklad PowerShell Count! V této části chci spočítat počet výskytů slova Bytes v textovém souboru na tomto snímku obrazovky…

Jak jsem již ukázal v předchozím příkladu, prvním krokem je použití Získejte obsah příkaz pro výpis obsahu textového souboru.

|_+_|

Poté výsledek přeneste do Kde-Objekt a filtrovat podle názvu slov, která chci spočítat…

|_+_|

Nakonec přeneste výsledek posledního příkazu do Měřit-objekt .

|_+_|

Chcete-li zobrazit pouze výsledek, upravte příkaz, jak je uvedeno níže.

|_+_|

Výsledkem je 3.

To je vše, náš aktualizovaný článek o počtu PowerShell! Doufám, že vám to pomohlo.

Pokud vám tento článek pomohl, hlasujte Ano na otázku Byl tento příspěvek užitečná níže.

Případně můžete položit otázku, zanechat komentář nebo poskytnout další zpětnou vazbu pomocí formuláře Zanechat odpověď, který najdete na konci této stránky.

A nakonec, pro další PowerShell tech S Zones, navštivte naši stránku průvodce Windows PowerShell How-To. Velmi užitečná vám může být také naše stránka Práce z domova.

Reference a další čtení

  1. Měřit-objekt
  2. O metodách
  3. 18 nejužitečnějších příkazů Powershell pro správce Windows
  4. Jak extrahovat podřetězec Powershell z řetězce