Kako šteti predmete v PowerShell

28. maja 2021 37667 Pogledi powershell-count

Obstaja toliko razlogov, zakaj bi morda želeli šteti predmete v PowerShell. Kot primer boste morda želeli prešteti sporočila o napakah v dnevniku dogodkov.





Poleg tega boste morda želeli prešteti število datotek v določeni mapi.



Karkoli morate šteti v PowerShell, lahko uporabite bodisi štetje Operater ali Meri objekt Cmdlet. Ta priročnik vas nauči različnih primerov, da pokažete, kako šteti z obema metodama.

Vodnik je razdeljen na dva dela. V prvem razdelku se boste naučili uporabljati štetje Operater z 8 različnimi primeri.



Na koncu vas bom v drugem delu naučil šteti z Meri objekt Cmdlet.



Brskajte po temah objav

Kako šteti v PowerShell z štetje Operater

Kot je bilo že omenjeno v uvodu, vas bom v tem prvem razdelku naučil šteti z štetje Operater . Razdelek se začne s sintakso štetje Operater .



Nato delim osem primerov različnih načinov, kako lahko štejete z štetje Operater .



Sintaksa PowerShell štetje Operater

Sintaksa PowerShell štetje Operater je:

|_+_|

PowerShell štetje Operater predmeta je mogoče dostopati tako, da predmet ovijete v oklepaju (). Nato dodajte piko (.), ki ji sledi beseda, šteti .

Kako uporabljati PowerShell štetje Operater Za štetje dnevnikov dogodkov

Prvi primer aplikacije vam pokaže, kako šteti dnevnike dogodkov.

V tem primeru želim prešteti število sporočil o napakah v sistem prijavite se v zadnjih 24 urah. Lahko bi zagnal en sam ukaz, vendar ga bom razčlenil, da ga bom lažje razumel.

Prvi korak je, da shranite zadnjih 24 ur v spremenljivko z uporabo Get-Date ukaz.

Tukaj je ukaz …

|_+_|

Vnesite ukaz v PowerShell in pritisnite tipko enter, da ga zaženete.

Kako uporabljati PowerShell metodo štetja za štetje dnevnikov dogodkov

Nato zaženite Get-EventLog ukaz, napelji izhod v Kam-predmet ukaz in filtrirajte po napaki. Rezultat ukaza shranite v spremenljivko z imenom $ErrorLogCount .

|_+_|

Če želite videti seznam sporočil o napakah, zaženite spremenljivko $ErrorLogCount.

|_+_|

Tukaj so ukazi v PowerShell...

Upoštevajte, da obstaja 5 dnevnikov napak. To je enostavno prešteti – če pa je rezultat na stotine rezultatov, kako jih štejete?

Uporabite PowerShell štetje Operater ! Tukaj je zadnji ukaz, ki šteje število dnevnikov napak v rezultatu zadnjega ukaza ...

|_+_|

In po pričakovanjih je rezultat 5!

kodi dodamo umazano raco
Kako uporabljati PowerShell metodo štetja za štetje dnevnikov dogodkov

Če želite ukaze zagnati v enem ukazu, je tukaj ukaz ...

|_+_|

Rezultat je enak…

Kako uporabljati PowerShell štetje Operater za štetje datotek v mapi

Še ena aplikacija PowerShell štetje Metoda je štetje števila datotek v mapi. V tem razdelku se boste naučili šteti datoteke v mapi.

Zaslužili boste tudi, kako šteti datoteke v mapi in vseh podmapah. Na koncu vas bom naučil uporabljati PowerShell štetje Metoda štetja datotek po datumu.

Prvi korak pri štetju datotek v mapi je uporaba Get-ChildItem ukaz za vrnitev datotek v mapo. V tem primeru bom shranil rezultat Get-ChildItem ukaz v spremenljivki, ki se imenuje seznam datotek .

|_+_|

V drugem delu ukaza sem posredoval izhod Get-ChildItem ukaz za Kam-predmet . The Kam-predmet ukaz ima! pred $_.PSIsContainer – to pove Kam-predmet za vrnitev vseh predmetov razen map.

Tukaj je ukaz v PowerShell. Za prikaz rezultatov, shranjenih v spremenljivki, sem zagnal spremenljivko…

Kako uporabiti metodo štetja PowerShell za štetje datotek v mapi

Končno, če želite prešteti število datotek, ovijte rezultat v PowerShell štetje Operater .

|_+_|

Rezultat kaže, da je 37 datotek.

Kaj pa, če želimo šteti datoteke v mapi in vseh podmapah? To zahteva preprosto dodajanje Rekurzija parameter za Get-ChildItem delček ukaza.

Tukaj je spremenjen ukaz, ki šteje datoteke v mapi in vseh njenih podmapah. Tokrat sem ukaz zagnal kot en sam ukaz.

|_+_|

Tukaj je rezultat s 40 datotekami.

Kako uporabiti metodo štetja PowerShell za štetje datotek v mapi

Kako uporabljati PowerShell štetje Operater za štetje datotek v mapi po datumu

V zadnjem razdelku sem vam pokazal, kako prešteti vse datoteke v mapi in podmapah.

V tem razdelku vam bom pokazal, kako prešteti število datotek v mapi glede na datum.

Da bi lažje razumeli ta primer, zaženite ta ukaz iz našega prejšnjega primera.

|_+_|

Zdaj zaženite spremenljivko. Rezultat kaže, da imajo datoteke lastnost imenovana LastWriteTime .

The LastWriteTime Lastnost označuje, kdaj je bila datoteka nazadnje ustvarjena ali posodobljena. Posledica je, da lahko to lastnost vključimo v Kam-predmet filter – nato vrnite samo datoteke, ki so bile posodobljene ali ustvarjene na določen datum.

V tem primeru želim šteti samo datoteke, ki so bile posodobljene ali ustvarjene v zadnjih 24 urah. Torej, potreboval bom datumski filter.

Če želite ustvariti datumski filter, zaženite spodnji ukaz in rezultat shranite v spremenljivko ...

|_+_|

Nato uporabite spremenljivko, $Last24Hours kot dodaten filter v Kam-predmet stran prejšnjega ukaza. Tukaj je posodobljen ukaz.

|_+_|

Ukaz uvaja nov filter $_.LastWriteTime -ge $Last24Hours. To primerja LastWriteTime lastnost vsake datoteke z datumom, shranjenim v $Last24Hours spremenljivka.

Nato katera koli datoteka z LastWriteTime večji ali enak (ge) datumu v spremenljivki (zadnjih 24 ur), bo vrnjen v rezultatu. Vendar pa je katera koli datoteka z LastWriteTime ki sodi izven tega območja, se odstrani.

Kako neverjetno!

Ukaz je vrnil samo 3 datoteke!

Nazadnje, če želite prešteti datoteke v tej mapi in vseh njenih podmapah, ki so bile ustvarjene ali posodobljene v zadnjih 24 urah, uporabite PowerShell štetje Operater spodnji ukaz:

|_+_|

Tukaj je rezultat v PowerShell ...

Kako uporabljati PowerShell štetje Operator za štetje predmetov v nizu

Pred kratkim sem posodobil naš članek o nizih PowerShell. V zadnji posodobitvi članka sem ustvaril matriko.

Tukaj je skript, ki ustvari matriko, shranjeno v spremenljivki, ArrayList .

|_+_|

PowerShell Array ima štetje Lastnina . To lastnost lahko uporabite tako, kot smo jo uporabili v prejšnjih primerih v tem članku.

Zato za štetje predmetov v polju PowerShell, shranjenih v ArrayList spremenljivka, zaženite spodnji ukaz ...

|_+_|

Rezultat je 3 – potrditev števila predmetov v našem nizu!

Kako uporabljati operaterja štetja PowerShell za štetje predmetov v nizu

Kako šteti v PowerShell z ukazom Measure-Object

Kako šteti v PowerShell z ukazom Measure-Object

V zadnjem razdelku tega priročnika ste videli različne načine uporabe PowerShell štetje Operater šteti predmete. Ta razdelek vas nauči, kako šteti predmete z Meri objekt Cmdlet.

Kot bi lahko videli v primerih v tem razdelku, je Meri objekt Cmdlet ponuja več možnosti za štetje predmetov.

Pred primeri pa začnimo s sintakso Meri objekt Cmdlet.

Sintaksa ukaza Measure-Object

Če si želite ogledati celotno sintakso datoteke Meri objekt Cmdlet, zaženite spodnji ukaz:

|_+_|

Iz rezultata ukaza, Meri objekt Cmdlet ima dve sintaksi. Tu so poenostavljene različice sintaks:

|_+_| |_+_|

Prvo skladnjo lahko uporabite za vrnitev povprečnih, najmanjših in največjih vrednosti predmetov. Če pa želite prešteti število znakov, odstraniti presledke, šteti vrstice ali besedo, uporabite drugo sintakso.

V naslednjih pododdelkih bom razpravljal o različnih primerih uporabe Meri objekt za štetje predmetov v PowerShell.

Kako uporabiti ukazni ukaz Measure-Object za štetje znakov v nizu

Večinoma bodo morali skrbniki SysAdmin prešteti skupno število elementov v nizu ali predmetu PowerShell. Vendar pa lahko v redkih primerih SysAdmins naleti na samodejna opravila PowerShell, ki zahtevajo bolj natančno štetje.

Morda boste morali na primer prešteti število znakov v nizu. V tem primeru vas bom naučil, kako prešteti skupno število znakov v nizu.

Da bo jasno, je znak en sam predmet, kot je 1 ali a.

Začnimo z zelo preprostim primerom, da preštejemo število znakov v tem nizu številk

|_+_|

Očitno je šest znakov, toda kako s PowerShellom štejemo znake? Preprost odgovor je prenesti rezultat na Meri objekt ukaz in določite Znak parameter.

Tukaj je ukaz …

|_+_|

Drug način za zagon ukaza je, da navedete niz, 123456 s spremenljivko InputObject, namesto da ga pošljete po cevi ...

|_+_|

Oba ukaza dajeta enak rezultat, 6!

Kako šteti v PowerShell z ukazom Measure-Object: Kako uporabiti ukaz Measure-Object za štetje znakov v nizu

Kako prešteti določen znak v nizu

Zdaj pa za naprednejši primer – kaj če želite prešteti število določenega znaka v nizu?

Recimo, da želite prešteti, kolikokrat se v tem nizu pojavi številka 2:

|_+_|

Prvi korak je pretvorba niza v niz znakov Unicode. Če želite to doseči, uporabite ToCharArray Metoda .

Tukaj je ukaz …

|_+_|

Ukaz naredi razčlenitev niza na člane polja PowerShell. Tukaj je rezultat…

Zdaj, ko ste pretvorili niz v matriko, je naslednji korak, da ga postavite po cevi Kam-predmet . Nato v Kam-predmet filter blok, uporabite $_ avtomatska spremenljivka za vrnitev znakov, ki jih želite prešteti.

V tem primeru želimo prešteti vse ponovitve 2. To je ukaz, ki opravi to delo...

|_+_|

Ukaz vrne samo znake, ki jih želimo prešteti.

Kako šteti v PowerShell z ukazom Measure-Object: Kako uporabiti ukaz Measure-Object za štetje določenih znakov v nizu

Na koncu prenesite zadnji ukaz Meri objekt .

|_+_|

Končni rezultat nam pove, da se je znak 2 pojavil 3-krat v izvirnem nizu, 123456225.

Kot lahko vidite iz zadnjega ukaza, ima rezultat kup drugih informacij. Vključuje tudi besedo Count.

Kaj pa, če želite prikazati število znakov brez teh drugih nepomembnih informacij?

Prejšnji ukaz preprosto zaprite v () oklepaju, ki mu sledi pika (.). Na koncu dodajte besedo štetje .

štetje je lastnost, označena na zadnjem posnetku zaslona. To je isti PowerShell štetje Lastnina smo razpravljali v tem priročniku.

|_+_|

Izvolite, enostavno-peasy!

Kako šteti v PowerShell z ukazom Measure-Object: Kako uporabiti ukaz Measure-Object za štetje določenih znakov v nizu

Kako uporabljati PowerShell Measure-Object za štetje števila vrstic v besedilni datoteki

Primeri v tem razdelku postajajo razburljivi!

V tem pododdelku želim igro nekoliko nadgraditi. Želim vam pokazati, kako prešteti število vrstic v besedilni datoteki.

Recimo, da želite prešteti število vrstic v besedilni datoteki, prikazani na tem posnetku zaslona ...

Prvi korak je uporaba Get-Content ukaz za vrnitev vsebine datoteke. Nato napeljite izhod na Meri objekt in navedite vrstica parameter.

Tukaj je zadnji ukaz ...

|_+_|

In tukaj je rezultat ... 4 vrstice v besedilni datoteki ...

Kako uporabljati PowerShell Measure-Object za štetje števila vrstic v besedilni datoteki

Če pa želite prešteti število besed v besedilni datoteki, zamenjajte vrstica parameter z Beseda .

|_+_|

Po naključju so tudi 4 besede.

Kako uporabiti ukaz PowerShell Measure-Object za štetje vrstic v datoteki CSV

V naslednjem primeru želim prešteti število vrstic v tej datoteki CSV. Kot lahko vidite, je 15 vrstic.

Kako uporabiti ukaz PowerShell Measure-Object za štetje vrstic v datoteki CSV

Pristop je podoben štetju števila vrstic v besedilni datoteki. Vendar pa je manj zapleteno.

Če želite prešteti število vrstic v zgornji datoteki CSV, najprej uporabite Uvoz-Csv ukaz za prikaz vsebine datoteke CSV. Nato napeljite izhod Uvoz-Csv ukaz za Meri objekt .

Tukaj je zadnji ukaz ...

|_+_|

In rezultat…

Še enkrat, če želite prikazati samo število vrstic, zaženite spodnji ukaz ...

|_+_|

Kako uporabljati ukazni ukaz PowerShell Measure-Object za štetje pojavov nizov v datoteki

To je še en razburljiv primer PowerShell Count! V tem razdelku želim prešteti število pojavov besede Bytes v besedilni datoteki na tem posnetku zaslona ...

Kot sem že pokazal v prejšnjem primeru, je prvi korak uporaba Get-Content ukaz za prikaz vsebine besedilne datoteke.

|_+_|

Nato prenesite rezultat Kam-predmet in filtriram po imenu besed, ki jih želim prešteti ...

|_+_|

Na koncu prenesite rezultat zadnjega ukaza Meri objekt .

|_+_|

Če želite prikazati samo rezultat, spremenite ukaz, kot je prikazano spodaj.

|_+_|

Rezultat je 3.

To je to, naš posodobljen članek o štetju PowerShell! Upam, da vam je bilo v pomoč.

Če se vam je ta članek zdel koristen, vljudno glasujte da na spodnje vprašanje Ali je bila ta objava koristna.

Lahko pa postavite vprašanje, pustite komentar ali pošljete več povratnih informacij z obrazcem za pustite odgovor na koncu te strani.

Nazadnje, za več PowerShell tech S con obiščite našo stran z navodili za Windows PowerShell. Morda vam bo v veliko pomoč tudi naša stran Delo od doma.

Reference in dodatno branje

  1. Meri objekt
  2. O metodah
  3. 18 najbolj uporabnih ukazov Powershell za skrbnike sistema Windows
  4. Kako ekstrahirati podniz Powershell iz niza