PowerShell változók és tömbök

0 Comments

az előző cikkben, melynek neve PowerShell Scripting Tutorial For Beginners, azt vizsgáltuk, hogyan kell használni a PowerShell konzolt szkriptek végrehajtásához, és megtanultuk, hogy mi a parancsmagok, hogyan lehet tulajdonságaikat és hogyan kell csöveket használni az adatok átviteléhez az egyik parancsmagról a másikra.

ebben a cikkben, akkor lépni a változók és tömbök, beleértve, hogy mik azok, és hogyan tudjuk létrehozni, eltávolítani és megváltoztatni őket.,i>Lista változók

  • változó Beállítása
  • Tudjon a változó
  • Nyomtatás változó
  • Tiszta változó
  • Eltávolítás változó
  • PowerShell Tömbök
    • Array Lista
    • Array Index
    • Többdimenziós Tömbök
  • PowerShell Tömb Példák
    • Rendezés array
    • Hozzáadás array
    • Array hossza
    • Eltávolítás elemet array
    • Array tartalmaz
    • Tiszta array
    • Nyomtatás array
    • Hurok keresztül egy tömb
  • PowerShell Változók

    a változó Egy egységnyi memória, amely értékek tárolódnak., A PowerShellben lévő változó ” $ ” – val (dollárjel) kezdődik, és a neve tartalmazhat betűket, számokat és aláhúzásokat. Egy változó értékének hozzárendeléséhez a “=” operátort használjuk. Egy változó értékének megjelenítéséhez egyszerűen írja be a változót.,

    Ha hozzá egy szám string, a szám automatikusan egy string:

    $var1 = "Netwrix"$var2 = 2018$var3 = $var1 + $var2$var3

    Változó Típusok

    A PowerShell változó típus van beállítva, hogy automatikusan alapján értéket rendel hozzá, de akkor is rendel, a típus kézzel:

    $var1 = "Netwrix"

    ahhoz, Hogy megtudja, mi a típusú változó, használjuk a “be a gettype parancsot ()” paraméter:

    $var1 = "Netwrix"$var1.GetType().FullName

    Mint láthatjuk, a $var1 változó a “Rendszer.,String ” típus.

    itt vannak leírások az összes PowerShell változó típusok:

    akkor valószínűleg már megértette, hogy írhat a változó nem csak néhány határozott értéket, és észrevette, hogy az osztály rendszer.Tárgy a táblázatban. Ehhez a változóhoz bármilyen cmdlet kimenetét írhatja.

    változó hatókör

    a PowerShell változó hatóköre lehet helyi vagy globális. Alapértelmezés szerint egy változónak helyi hatóköre van., A változót az aktuális hatóköre korlátozza; például egy helyi változó elérhető lehet egy aktuális függvényben vagy szkriptben, míg egy globális változó aktív az aktuális PowerShell munkamenet során. Globális változó jelöléséhez használja a $Global: variable = value formátumot, amint azt a következő parancs szemlélteti:

    $Global:var4 = 12

    PowerShell Variable Examples

    list változók

    az összes rendelkezésre álló aktuális változó felsorolásához futtassa az ls változót:* parancs., Itt van egy példa a kimenetre:

    Változó beállítása

    változót hozhat létre egy érték egyszerű hozzárendelésével. Például a $var4 = “variableexample” parancs létrehoz egy $var4 nevű változót, majd karakterlánc értéket rendel hozzá. A kettős idézőjelek (” “) azt jelzik, hogy egy karakterlánc értéket rendelnek a változóhoz.

    Get variable

    Ez nagyon hasonlít a lista változó parancs, csak egy másik cmdlet:

    Get-Variable | Out-String

    print variable

    lehet kiadni egy változó a .txt, .csv vagy HTML fájl.

    írni egy .,txt fájl, használja a out-File parancsot:

    $var5 = "Hello World!"$var5 | Out-File C:\scripts\Hello_World.txt

    adatok exportálásához a .,”d2d13912ee”>

    Majd, hogy írj egy HTML-fájlt, akkor használja a ConvertTo-Html parancs:

    $var6 = Get-Process$var6 | ConvertTo-Html -Property Name, Path > C:\scripts\processes.html

    Hogy olvassa el a fájlt, amit kivitt, használjuk a Tartalom parancsmagot:

    Get-Content C:\scripts\processes.csv

    Tiszta változó

    egyértelmű, Hogy a tartalma változó, használja a Világos-Változó parancsmagot:

    Clear-Variable -name var6 #without $

    Eltávolítás változó

    ahhoz, Hogy teljesen eltávolítani egy változó, használja a Remove-Változó parancsmagot:

    Remove-Variable -name var6 #without $

    PowerShell Tömbök

    a tömb típusú változó., Ez egy bizonyos sorrendben elrendezett komponensek (tömb elemek) halmaza. A tömb elemei egymás után vannak számozva, egy elemet pedig az indexszám segítségével érhet el.

    tömbök létrehozásakor vegye figyelembe az alapértelmezett PowerShell viselkedést. Ha több elemből álló tömböt hoz létre, a PowerShell egy tömböt hoz létre, ahogy kívánja. Például tegyen néhány számot egy tömbbe, majd ellenőrizze a változó adattípusát:

    $array1 = 1, 2, 3$array1.GetType()

    mint látható, ebben az esetben a PowerShell létrehozott egy tömböt (rendszer.Tömb).,

    Viszont, ha csak egy érték a változó, akkor a PowerShell nem hoz létre egy tömböt:

    $array1 = 1$array1.GetType()

    persze, nem mindig mondd meg előre, hogy hány objektumok eredményeként kapott végrehajtó egy adott parancs, tehát kell, hogy a kód mindig bánnak az eredmény, mint egy tömb.

    ezt sokféle módon megteheti. Például használhatja a”, ” operátort. Ha vesszőt használnak bináris operátorként, akkor egy normál tömb jön létre; ha unary operátorként használják, akkor a tömb csak egy elemet tartalmaz., Például itt van, hogyan kaphatunk egy tömböt, amely egy elemből áll:

    $array1 = ,1$array1.GetType()

    alternatívaként kifejezetten megadhatja egy változó adattípusát:

    ]$array1 = 1$array1.GetType()

    végül létrehozhat egy tömböt a ” @ ” subexpression operátor segítségével is, amely tömböt képez, még akkor is, ha egyáltalán nincs megadva objektum. Nagyon kényelmes inicializálni egy változót tömbként, majd objektumokat hozzáadni hozzá anélkül, hogy aggódnának a számuk miatt.,

    $array3 = @()$array3.GetType()

    vegye figyelembe, hogy a tömb minden elemének saját adattípusa van, a típusobjektum pedig lehetővé teszi, hogy bármilyen értéket hozzáadjon a tömbhöz. Szükség esetén korlátozhatja a tömb tagjait egy adott adattípusra – akkor létrehoz egy “gépelt tömböt”., Például megadhatja, hogy a tömb elemei kell egész értékek:

    ]$array1 = 1$array1.GetType()

    így határozzuk meg a rendszer folyamatok, mint a tömb tagjai:

    ]$array1 = Get-Process$array1.GetType()

    Array Lista

    Ha módosítja vagy a keresési tömb gyakran, használhatja az ArrayList osztály, amelynek célja, hogy könnyen hozzáadása, eltávolítása, valamint a keresés elem, hogy:

    $array3 = New-Object System.Collections.ArrayList

    Array Index

    Az index a tömb egy érték, általában egy numerikus egész azonosítására, illetve hivatkozás a tömb eleme., A tömb indexek a programozási nyelvtől függően nulláról vagy egyről indulnak. A Windows PowerShell tömbök nulla alapúak, így a $var3 tömb első elemére (“element zero”) hivatkozva $var3-t írna .

    $var3 = "first", "second", "third"

    többdimenziós tömbök

    többdimenziós tömbök olyan változók, amelyek felhasználhatók információk tárolására egy táblázatban anélkül, hogy azt egy valós adatbázisba kellene írni. Úgy néz ki, mint egy hash tábla, de képes tárolni a különböző típusú információkat, mint például a karakterláncok és egész számok., Valójában el lehet képzelni egy többdimenziós tömböt, mint oszlopokkal és sorokkal ellátott táblát, ahol minden cellának saját indexe van egy PowerShell környezetben.

    PowerShell Array Examples

    Sort array

    Ha egy tömb csak egy adattípust tartalmaz, akkor az értékeket rendezési módszerrel rendezheti:

    $array3 | Sort

    egy tömb több adattípussal történő rendezéséhez a Rendezésobjektumot kell használni főcím.,

    Hozzáadás array

    Először is, hadd hozzon létre egy sor:

    $array5 = "one", "two", "three", "four", "five"$array5.gettype()

    ahhoz, Hogy könnyen módosíthatja a tömb, mi kell hozzá, hogy az arraylist gyűjtemény:

    $ArrayList1 = $array5$ArrayList1.GetType()

    Mint látható, a BaseType változott, mi pedig könnyen módosíthatja a tömb most:

    $ArrayList1.Add("six")$ArrayList1.Remove("three")$ArrayList1

    Array hossza

    vissza a elemek száma: array, használja a .,hossz paraméter:

    $array6 = 1,2,3,4,5,6echo $array6.Length

    elem eltávolítása a tömbből

    elem eltávolításához használja a .Parancs eltávolítása., Újra, jobb, hogy egy arraylist:

    $ArrayList1 = $array5$ArrayList1.GetType()$ArrayList1.Remove("three")$ArrayList1

    Array tartalmaz

    Ha látni szeretné, ha minden eleme egy tömb tartalmaz egy bizonyos értéket, a Tartalmaz módszer:

    $array7 = 1,2,5,8,3,4,5$array7.Contains(2)$array7.Contains(12)

    Tiszta array

    bár a legtöbb tömb műveletek a PowerShell viszonylag könnyű elérni, nem egyszerűen módja annak, hogy törölni egy tömb., A legegyszerűbb módja annak, hogy megszabaduljon a teljes tömb hozzárendelése a változó $null hozzá:

    $array7 = $null$array7

    annak ellenőrzésére, hogy a tömb null, futtassa a következő script:

    $array7 -eq $null

    PowerShell, ha a változó null, nem alkalmazhat semmilyen módszert.

    nyomtatási tömb

    egy egész tömb nyomtatásához ugyanazokat a módszereket használhatjuk a változók nyomtatásához.

    írni egy .txt fájl, használja a out-File parancsot:

    $var5 | Out-File C:\scripts\array.txt

    exportálni a .,csv fájl, használja az Export-Csv parancsot:

    $var6 | Export-Csv -Path C:\scripts\array.csv

    és egy HTML fájlba való íráshoz használja a Converto-Html parancsot:

    $var6 | ConvertTo-Html > C:\scripts\processes.html

    hurok egy

    tömbön keresztül annak érdekében, hogy minden egyes elemet egy tömbben egymás után kezeljünk, hurkot kell készítenünk a foreach operátor segítségével. Ha például egy string tömböt deklarálunk, és meg akarjuk számolni az egyes szavak hosszát a tömbben, akkor a következő szkriptet kell futtatnunk:

    $array8 = @("Earth","Mercury","Venus","Jupiter","Saturn","Mars", "Neptune", "Pluto") foreach ($array in $array8) { "$array = " + $array.length }

    ebben a cikkben megismertük a változókat és azok típusát., Aztán felfedeztünk egy változó típust — a tömböt— részletesen, és megtanultuk, hogyan kell vele játszani. Ezzel az információval készen áll arra, hogy még mélyebbre merüljön a Powershellbe.

    Jeff a NetWrix Global Solutions Engineering igazgatója. Ő egy hosszú ideje Netwrix blogger, hangszóró, műsorvezető. A Netwrix blog, Jeff osztja lifehacks, tippek, trükkök, amelyek drámaian javítja a rendszer adminisztrációs tapasztalat.


    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük