PowerShell változók és tömbök
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
- Array Lista
- Array Index
- Többdimenziós Tömbö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.