Kā saskaitīt objektus programmā PowerShell

2021. gada 28. maijs 37667 Skati powershell-skaits

Ir tik daudz iemeslu, kāpēc jūs varētu vēlēties uzskaitīt objektus programmā PowerShell. Piemēram, iespējams, vēlēsities saskaitīt kļūdu ziņojumus notikumu žurnālā.

Turklāt, iespējams, vēlēsities saskaitīt failu skaitu noteiktā mapē.

Neatkarīgi no tā, kas jums jāuzskaita programmā PowerShell, varat izmantot vai nu Skaitīt Operators vai Mērījums-Objekts Cmdlet. Šajā rokasgrāmatā ir sniegti dažādi piemēri, lai parādītu, kā skaitīt ar abām metodēm.

Rokasgrāmata ir sadalīta divās daļās. Pirmajā sadaļā jūs uzzināsit, kā lietot Skaitīt Operators ar 8 dažādiem piemēriem.

Visbeidzot, otrajā sadaļā es jums iemācīšu, kā skaitīt ar Mērījums-Objekts Cmdlet.

Pārlūkojiet ziņu tēmas

Kā skaitīt PowerShell ar Skaitīt Operators

Kā jau minēts ievadā, šajā pirmajā sadaļā es jums iemācīšu, kā skaitīt ar Skaitīt Operators . Sadaļa sākas ar sintaksi Skaitīt Operators .

Pēc tam es pastāstīšu astoņus dažādu veidu piemērus, kā jūs varat rēķināties ar Skaitīt Operators .

PowerShell sintakse Skaitīt Operators

PowerShell sintakse Skaitīt Operators ir:

|_+_|

PowerShell Skaitīt Operators objektam var piekļūt, iesaiņojot objektu iekavās (). Pēc tam pievienojiet punktu (.), kam seko vārds, skaitīt .

Kā lietot PowerShell Skaitīt Operators Lai skaitītu notikumu žurnālus

Pirmais lietojumprogrammas piemērs ir parādīt, kā skaitīt notikumu žurnālus.

Šajā piemērā es vēlos saskaitīt kļūdu ziņojumu skaitu Sistēma piesakieties pēdējo 24 stundu laikā. Es varētu palaist vienu komandu, bet, lai to būtu viegli saprast, es to sadalīšu.

Pirmais solis ir saglabāt pēdējās 24 stundas mainīgajā, izmantojot Get-Date komandu.

Šeit ir pavēle…

|_+_|

Ievadiet komandu programmā PowerShell un nospiediet ievadīšanas taustiņu, lai to palaistu.

Kā izmantot PowerShell skaitīšanas metodi notikumu žurnālu skaitīšanai

Tālāk palaidiet Get-EventLog komandu, ievadiet izvadi uz Kur-Objekts komandu un filtrē pēc kļūdas. Saglabājiet komandas rezultātu mainīgajā, ko sauc $ErrorLogCount .

|_+_|

Ja vēlaties redzēt kļūdu ziņojumu sarakstu, palaidiet mainīgo $ErrorLogCount.

|_+_|

Šeit ir PowerShell komandas…

Ņemiet vērā, ka ir 5 kļūdu žurnāli. To ir viegli saskaitīt – tomēr, ja rezultātam bija simtiem rezultātu, kā tos saskaitīt?

Izmantojiet PowerShell Skaitīt Operators ! Šeit ir pēdējā komanda, kas uzskaita kļūdu žurnālu skaitu pēdējās komandas rezultātā…

|_+_|

Un, kā jau gaidīts, rezultāts ir 5!

Kā izmantot PowerShell skaitīšanas metodi notikumu žurnālu skaitīšanai

Ja vēlaties palaist komandas vienā komandā, šeit ir komanda…

|_+_|

Rezultāts tāds pats…

Kā lietot PowerShell Skaitīt Operators, lai saskaitītu failus mapē

Vēl viena PowerShell lietojumprogramma Skaitīt Šī metode ir mapē esošo failu skaita saskaitīšana. Šajā sadaļā jūs uzzināsit, kā saskaitīt failus mapē.

Jūs arī nopelnīsit, kā saskaitīt failus mapē un visās apakšmapēs. Visbeidzot, es iemācīšu jums izmantot PowerShell Skaitīt Failu skaitīšanas metode pēc datuma.

Pirmais solis, lai skaitītu failus mapē, ir izmantot Get-ChildItem komandu, lai atgrieztu failus mapē. Šajā piemērā es saglabāšu rezultātu Get-ChildItem komandu mainīgajā, ko sauc failu saraksts .

|_+_|

Komandas otrajā daļā es ievadīju izvadi Get-ChildItem komanda uz Kur-Objekts . The Kur-Objekts komandai ir ! $_.PSIsContainer priekšā — tas norāda Kur-Objekts lai atgrieztu visus objektus, izņemot mapes.

Šeit ir komanda PowerShell. Lai parādītu mainīgajā saglabātos rezultātus, es palaidu mainīgo…

Kā izmantot PowerShell skaitīšanas metodi, lai skaitītu failus mapē

Visbeidzot, lai saskaitītu failu skaitu, iesaiņojiet rezultātu programmā PowerShell Skaitīt Operators .

|_+_|

Rezultāts parāda, ka ir 37 faili.

Ko darīt, ja mēs vēlamies saskaitīt failus mapē un visās apakšmapēs? Tam vienkārši jāpievieno Atkārtošanās parametru uz Get-ChildItem mazliet komandas.

Šeit ir grozītā komanda, kas saskaita failus mapē un visās tās apakšmapēs. Šoreiz komandu izpildīju kā vienu komandu.

|_+_|

Šeit ir rezultāts ar 40 failiem.

Kā izmantot PowerShell skaitīšanas metodi, lai skaitītu failus mapē

Kā lietot PowerShell Skaitīt Operators, lai saskaitītu failus mapē pēc datuma

Pēdējā sadaļā es parādīju, kā saskaitīt visus failus mapē un apakšmapēs.

Šajā sadaļā es jums parādīšu, kā saskaitīt mapē esošo failu skaitu, pamatojoties uz datumu.

Lai palīdzētu jums saprast šo piemēru, palaidiet šo komandu no mūsu iepriekšējā piemēra.

|_+_|

Tagad palaidiet mainīgo. Rezultāts parāda, ka failiem ir īpašums ar nosaukumu LastWriteTime .

The LastWriteTime rekvizīts norāda pēdējo reizi, kad fails tika izveidots vai atjaunināts. Tas nozīmē, ka mēs varam iekļaut šo īpašumu Kur-Objekts filtrs — pēc tam atgrieziet tikai tos failus, kas tika atjaunināti vai izveidoti noteiktā datumā.

Šajā piemērā es vēlos uzskaitīt tikai tos failus, kas atjaunināti vai izveidoti pēdējo 24 stundu laikā. Tātad, man būs nepieciešams datuma filtrs.

Lai ģenerētu datuma filtru, palaidiet tālāk norādīto komandu un saglabājiet rezultātu mainīgajā…

|_+_|

Pēc tam izmantojiet mainīgo, $ Pēdējās 24 stundas kā papildu filtrs Kur-Objekts iepriekšējās komandas pusē. Šeit ir atjauninātā komanda.

|_+_|

Komanda ievieš jaunu filtru $_.LastWriteTime -ge $Last24Hours. Tas salīdzina LastWriteTime rekvizīts katram failam ar datumu, kas saglabāts mapē $ Pēdējās 24 stundas mainīgs.

Pēc tam jebkurš fails ar LastWriteTime lielāks vai vienāds ar (ge) datumu mainīgajā (pēdējās 24 stundas), tas tiks atgriezts rezultātā. Tomēr jebkurš fails ar LastWriteTime kas atrodas ārpus šī diapazona, tiek noņemts.

Cik pārsteidzošs!

Komanda atgrieza tikai 3 failus!

Visbeidzot, lai uzskaitītu šajā mapē un visās tās apakšmapēs esošos failus, kas izveidoti vai atjaunināti pēdējo 24 stundu laikā, izmantojiet PowerShell. Skaitīt Operators komanda zemāk:

|_+_|

Šeit ir rezultāts programmā PowerShell…

Kā lietot PowerShell Skaitīt Operators, lai saskaitītu objektus masīvā

Nesen es atjaunināju mūsu rakstu par PowerShell masīviem. Pēdējā raksta atjauninājumā es izveidoju masīvu.

Šeit ir skripts, kas izveido masīvu, kas saglabāts mainīgajā, ArrayList .

|_+_|

PowerShell masīvam ir Skaitīt Īpašums . Varat izmantot šo rekvizītu tā, kā mēs to izmantojām iepriekšējos šī raksta piemēros.

Tādējādi, lai uzskaitītu objektus PowerShell masīvā, kas saglabāts ArrayList mainīgais, palaidiet tālāk esošo komandu…

|_+_|

Rezultāts ir 3 — tiek apstiprināts objektu skaits mūsu masīvā!

Kā izmantot PowerShell Count operatoru, lai saskaitītu objektus masīvā

Kā skaitīt programmā PowerShell, izmantojot mērīšanas objekta cmdlet

Kā skaitīt programmā PowerShell, izmantojot mērīšanas objekta cmdlet

Šīs rokasgrāmatas pēdējā sadaļā jūs redzējāt dažādus PowerShell izmantošanas veidus Skaitīt Operators skaitīt objektus. Šajā sadaļā ir aprakstīts, kā skaitīt objektus ar Mērījums-Objekts Cmdlet.

Kā jūs varat redzēt šīs sadaļas piemēros, Mērījums-Objekts Cmdlet piedāvā vairāk iespēju skaitīt objektus.

Tomēr pirms piemēriem sāksim ar sintaksi Mērījums-Objekts Cmdlet.

Mēra objekta cmdlet sintakse

Lai redzētu pilnu sintaksi Mērījums-Objekts Cmdlet, palaidiet tālāk norādīto komandu:

|_+_|

No komandas rezultāta Mērījums-Objekts Cmdlet ir divas sintakses. Šeit ir vienkāršotas sintakses versijas:

|_+_| |_+_|

Varat izmantot pirmo sintaksi, lai atgrieztu objektu vidējās, minimālās un maksimālās vērtības. Tomēr, ja vēlaties saskaitīt rakstzīmju skaitu, noņemt atstarpes, skaitīt rindas vai vārdu, izmantojiet otro sintaksi.

Turpmākajās apakšsadaļās es aplūkošu dažādus lietošanas piemērus Mērījums-Objekts lai uzskaitītu objektus programmā PowerShell.

Kā izmantot mērīšanas objektu cmdlet, lai saskaitītu rakstzīmes virknē

Vairumā gadījumu SysAdmins būs jāuzskaita kopējais vienumu skaits virknē vai PowerShell objektā. Tomēr retos gadījumos SysAdmins var saskarties ar PowerShell automātiskiem uzdevumiem, kuriem nepieciešama detalizētāka skaitīšana.

Piemēram, jums var būt nepieciešams saskaitīt rakstzīmju skaitu virknē. Šajā piemērā es jums iemācīšu, kā saskaitīt kopējo rakstzīmju skaitu virknē.

Lai būtu skaidrs, rakstzīme ir viens objekts, piemēram, 1 vai a.

Sāksim ar ļoti vienkāršu piemēru, lai saskaitītu rakstzīmju skaitu šajā skaitļu virknē

|_+_|

Acīmredzot ir sešas rakstzīmes, bet kā mēs saskaitām rakstzīmes, izmantojot PowerShell? Vienkārša atbilde ir norādīt rezultātu uz Mērījums-Objekts komandu un norādiet Raksturs parametrs.

Šeit ir pavēle…

|_+_|

Vēl viens veids, kā palaist komandu, ir norādīt virkni 123456 ar mainīgo InputObject, nevis to ievadīt…

|_+_|

Abas komandas rada vienādu rezultātu, 6!

Kā skaitīt programmā PowerShell, izmantojot cmdlet mērīšanas objektu: kā izmantot cmdlet mērīšanas objektu, lai saskaitītu virknes rakstzīmes

Kā saskaitīt noteiktu rakstzīmi virknē

Tagad par sarežģītāku piemēru — ko darīt, ja vēlaties saskaitīt noteiktas rakstzīmes skaitu virknē?

Piemēram, pieņemsim, ka vēlaties saskaitīt, cik reižu skaitlis 2 parādās šajā virknē:

|_+_|

Pirmais solis ir pārvērst virkni par Unikoda rakstzīmju masīvu. Lai to panāktu, izmantojiet ToCharArray Metode .

Šeit ir pavēle…

|_+_|

Komanda sadala virkni PowerShell masīva dalībniekos. Šeit ir rezultāts…

Tagad, kad esat pārveidojis virkni masīvā, nākamais solis ir to pārveidot Kur-Objekts . Pēc tam sadaļā Kur-Objekts filtra bloku, izmantojiet $_ automātiskais mainīgais, lai atgrieztu rakstzīmes, kuras vēlaties skaitīt.

Šajā piemērā mēs vēlamies saskaitīt visus 2 gadījumus. Šī ir komanda, kas veic šo darbu…

|_+_|

Komanda atgriež tikai tās rakstzīmes, kuras vēlamies skaitīt.

Kā skaitīt programmā PowerShell, izmantojot cmdlet mērīšanas objektu: kā izmantot cmdlet mērīšanas objekts, lai saskaitītu noteiktas rakstzīmes virknē

Visbeidzot ievadiet pēdējo komandu uz Mērījums-Objekts .

|_+_|

Gala rezultāts liecina, ka rakstzīme 2 oriģinālajā virknē 123456225 parādījās 3 reizes.

Kā redzat no pēdējās komandas, rezultātam ir daudz citas informācijas. Tas ietver arī vārdu Count.

Ko darīt, ja vēlaties parādīt rakstzīmju skaitu bez šīs citas nebūtiskās informācijas?

Vienkārši iekļaujiet caurlaidīgo komandu () iekavās, kam seko punkts (.). Visbeidzot pievienojiet vārdu Skaitīt .

Skaitīt ir īpašums, kas izcelts pēdējā ekrānuzņēmumā. Tas ir tas pats PowerShell Skaitīt Īpašums mēs esam apsprieduši šajā rokasgrāmatā.

|_+_|

Lūk, viegli-peasy!

Kā skaitīt programmā PowerShell, izmantojot cmdlet mērīšanas objektu: kā izmantot cmdlet mērīšanas objekts, lai saskaitītu noteiktas rakstzīmes virknē

Kā izmantot PowerShell mērījumu objektu, lai saskaitītu teksta faila rindu skaitu

Šīs sadaļas piemēri kļūst aizraujoši!

Šajā apakšsadaļā es vēlos nedaudz uzlabot spēli. Es vēlos jums parādīt, kā saskaitīt rindiņu skaitu teksta failā.

Pieņemsim, ka vēlaties saskaitīt rindiņu skaitu teksta failā, kas parādīts šajā ekrānuzņēmumā…

Pirmais solis ir izmantot Get-Content komandu, lai atgrieztu faila saturu. Pēc tam novadiet izvadi uz Mērījums-Objekts un norādiet Līnija parametrs.

Šeit ir pēdējā komanda…

|_+_|

Un šeit ir rezultāts… 4 rindas teksta failā…

Kā izmantot PowerShell mērījumu objektu, lai saskaitītu teksta faila rindu skaitu

Alternatīvi, ja vēlaties saskaitīt vārdu skaitu teksta failā, nomainiet Līnija parametrs ar Vārds .

|_+_|

Nejauši ir arī 4 vārdi.

Kā izmantot PowerShell mērīšanas objektu cmdlet, lai skaitītu rindas CSV failā

Šajā nākamajā piemērā es vēlos saskaitīt rindu skaitu šajā CSV failā. Kā redzat, ir 15 rindas.

Kā izmantot PowerShell mērīšanas objektu cmdlet, lai skaitītu rindas CSV failā

Šī pieeja ir līdzīga rindu skaita skaitīšanai teksta failā. Tomēr tas ir mazāk sarežģīts.

Lai saskaitītu rindu skaitu iepriekš minētajā CSV failā, vispirms izmantojiet Importēt-Csv komandu, lai uzskaitītu CSV faila saturu. Pēc tam ievadiet izvadi Importēt-Csv komanda uz Mērījums-Objekts .

Šeit ir pēdējā komanda…

|_+_|

Un rezultāts…

Vēlreiz, ja vēlaties parādīt tikai rindu skaitu, palaidiet tālāk esošo komandu…

|_+_|

Kā izmantot PowerShell mērīšanas objekta cmdlet, lai uzskaitītu virknes gadījumus failā

Šis ir vēl viens aizraujošs PowerShell Count piemērs! Šajā sadaļā es vēlos saskaitīt vārda baitu gadījumu skaitu teksta failā šajā ekrānuzņēmumā…

Kā es jau parādīju iepriekšējā piemērā, pirmais solis ir izmantot Get-Content komandu, lai uzskaitītu teksta faila saturu.

|_+_|

Pēc tam norādiet rezultātu uz Kur-Objekts un filtrē pēc vārdu nosaukumiem, kurus vēlos skaitīt…

|_+_|

Visbeidzot ievadiet pēdējās komandas rezultātu uz Mērījums-Objekts .

|_+_|

Lai parādītu tikai rezultātu, mainiet komandu, kā parādīts zemāk.

|_+_|

Rezultāts ir 3.

Tieši tā, mūsu atjauninātais PowerShell skaitīšanas raksts! Ceru, ka jums tas noderēja.

Ja šis raksts jums noderēja, lūdzu, balsojiet uz Vai šī ziņa bija noderīgs jautājums tālāk.

Varat arī uzdot jautājumu, atstāt komentāru vai sniegt papildu atsauksmes, izmantojot veidlapu Atstājiet atbildi, kas atrodas šīs lapas beigās.

Visbeidzot, lai iegūtu vairāk PowerShell tehnoloģiju S zonu, apmeklējiet mūsu Windows PowerShell pamācību lapu. Iespējams, jums ļoti noderēs arī mūsu lapa Work from Home.

Atsauces un turpmākā literatūra

  1. Mērījums-Objekts
  2. Par metodēm
  3. 18 noderīgākās Powershell komandas Windows administratoriem
  4. Kā no virknes izvilkt Powershell apakšvirkni