PowerShell-arrays: hoe u ze kunt maken en gebruiken
Variabelen zijn de meest elementaire gegevensstructuur in elk type codering(any type of coding) . Maar enkele variabelen zijn nauwelijks voldoende voor de meeste doeleinden, vooral als het gaat om complexere algoritmen.
Dat is waar arrays binnenkomen. Of het nu C++ of Python is, arrays zijn in een of andere vorm in elke programmeertaal aanwezig. Maar hoe zit het met Windows PowerShell ? Hoe werken PowerShell- arrays? Hoe gebruik je ze? Wat is hun syntaxis? Laten we het uitzoeken.
PowerShell-arrays 101
Simpel(Simply) gezegd, een array is slechts een gestructureerde verzameling variabelen. Het idee is om het gedoe van het bijhouden van tientallen namen te elimineren door gerelateerde variabelen samen te vouwen tot een genummerde set.
In PowerShell kunt u een variabele maken door het $ -symbool voor een variabelenaam te plaatsen. Bijvoorbeeld:
$prime = 13
De variabele kan elk gegevenstype bevatten, van getallen tot tekenreeksen. U hoeft alleen dubbele of enkele aanhalingstekens te gebruiken om een tekenreeks op te geven.
$name = “Levin”
Om nu een nieuwe array te maken, wijst u eenvoudig meerdere waarden toe aan dezelfde variabele, gescheiden door komma's. Soortgelijk:
$week = “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”
Sommige mensen geven er de voorkeur aan om een variabele expliciet in een array te casten om verwarring te voorkomen, hoewel dat niet nodig is. Om dit te doen, plaatst u de waarden tussen haakjes, voorafgegaan door het @-teken.
$week = @(“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”)
Dit is meestal handig wanneer u probeert de uitvoer van andere opdrachten in een array te plaatsen, waar u ze niet handmatig in het juiste formaat kunt schrijven.
Een array maken
We hebben de meest gebruikelijke methode voor het maken van een array al gezien. Maar afhankelijk van de situatie zijn er andere manieren die misschien meer geschikt zijn. Als u bijvoorbeeld een array wilt maken die een reeks getallen bevat, kunt u de range-operator gebruiken:
$digits = (0..9)
Hiermee wordt een array gemaakt van alle tien cijfers van nul tot negen. U kunt ook een lege array initialiseren, voor het geval u later alleen een plaats wilt om waarden op te slaan.
$values = @()
Meerdere(Multiple) arrays kunnen zelfs in elkaar worden genest, hoewel dit type gebruik erg snel verwarrend kan worden.
$coordinates = @(
(5, 10, 23),
(11, 7, 16)
)
Standaard kan een array elk type variabele opslaan, of het nu getallen, tekenreeksen of een combinatie van beide zijn. Maar u kunt expliciet een type definiëren voor het geval u de erin geplaatste waarden wilt beperken. Bijvoorbeeld:
[int[]] $numbers = 2,3,4,5
Op deze manier kan de array alleen gehele getallen bevatten. Als u probeert een ander type waarde eraan toe te wijzen, wordt een fout geretourneerd. Dit kan handig zijn om eenvoudige fouten te voorkomen voor arrays die uitsluitend met numerieke waarden werken, aangezien het invoeren van een tekenreeks in een variabele die in berekeningen moet worden gebruikt, problemen zal opleveren.
Toegang tot arrays
Tot nu toe hebben we meerdere methoden gezien voor het maken van arrays met verschillende soorten gegevens. Maar hoe ga je om met toegang tot deze gegevens?
Power shell -arrays gebruiken dezelfde indeling die wordt gebruikt door andere programmeertalen. Elke arrayvariabele is toegankelijk via zijn indexnummer. Bijvoorbeeld:
$var = $numbers[5]
Dit kopieert de waarde die is opgeslagen in de index vijf van de $numbers array in de $var variabele. Merk op dat array-indexen beginnen te tellen vanaf 0, dus het eerste item wordt geopend met nul.
Als we dit bijvoorbeeld zouden uitvoeren:
“$days[2]”
We krijgen woensdag, niet dinsdag.
U kunt dezelfde methode gebruiken om deze waarden ook te wijzigen. De volgende opdracht verandert bijvoorbeeld het tweede element van de array in nul:
$numbers[1] = 0
U kunt ook meer elementen aan een bestaande array toevoegen in plaats van de waarden van huidige items te wijzigen door ze gewoon als een rekenkundige uitdrukking toe te voegen.
$names += “Johny”
Deze methode kan worden gebruikt om meerdere items tegelijk toe te voegen, of zelfs hele arrays.
$names += “Charlie, Liam, Teresa”
$names += $surnames
De door komma's gescheiden methode geldt ook voor toegang tot meerdere array-elementen. Als u dit invoert, worden bijvoorbeeld de eerste vijf elementen van $days in $weekdays opgeslagen .
$weekdays = $days[0,1,2,3,4]
Itereren door arrays
Handmatig toegang krijgen tot bepaalde elementen van een array is goed en wel, maar als je acties wilt uitvoeren op de volledige inhoud van een array, kan het vervelend worden. Een elegantere benadering is het gebruik van een For-lus.
For-lussen kunnen systematisch alle elementen van een array doorlopen en elke waarde volgens instructies verwerken. Zo bouw je zo'n lus:
For ($i = 0 ; $i -lt $days.Length ; $i++){
$days[$i]}
De functie array.Length retourneert de grootte van de array, wat in feite het aantal elementen erin is. Dit kan worden ingeplugd in de testexpressieparameter van een For-lus om alle elementen uitgebreid te herhalen.
De Foreach -lus en de Foreach -object-lus kunnen hetzelfde doen met een nog slanker PowerShell - script.
Foreach ($day in $days){
$day}
Dit bespaart u de moeite om de grootte van de array te bepalen, waardoor de details aan PowerShell worden overgelaten.
Wanneer moet u PowerShell-arrays gebruiken?(PowerShell Arrays)
De grootste bron van bugs in een complex script zijn variabelen waarnaar onjuist wordt verwezen. Dit gebeurt vanwege de aanwezigheid van een groot aantal uniek benoemde variabelen, waardoor het moeilijk is om hun doel te onthouden.
De eenvoudigste oplossing voor dit probleem is het uitgebreid gebruiken van arrays. Alle variabelen die op de een of andere manier gerelateerd zijn, kunnen worden toegewezen aan een enkele array en zijn toegankelijk via hun indexnummers.
De belangrijkste use case van Microsoft PowerShell(Microsoft PowerShell’s) is automatisering, en arrays spelen daarin een cruciale rol. De objecten die worden geretourneerd door Power(PowerShell) shell- cmdlets kunnen worden opgeslagen in matrices en worden herhaald. Hierdoor kunnen opeenvolgende taken automatisch worden uitgevoerd, wat het systeembeheer aanzienlijk vereenvoudigt.
Related posts
Een Windows 11 Recovery USB-drive maken en gebruiken
Een geplande taak verwijderen of maken met PowerShell in Windows 11
WAAROM is mijn pc niet compatibel met Windows 11? Gebruik WhyNotWin11!
Hoe maak je een herstelpunt-contextmenu aan in Windows 11
PowerShell versus opdrachtprompt: voor- en nadelen
Hoe u kunt voorkomen dat Windows 11 op uw computer wordt geïnstalleerd
De grootte van de taakbalk wijzigen op Windows 11
Klik hier om uw meest recente inloggegevens in Windows 11 in te voeren
Badges op taakbalkpictogrammen verbergen in Windows 11
PDF-pagina's bijsnijden in Windows 11 met behulp van een online tool of gratis software
Hoe werkt de functie Dynamic Refresh Rate in Windows 11
Systeemvereisten voor Windows 11: minimale hardware qua functionaliteit
Hoe de taakbalk naar de top te verplaatsen in Windows 11 met Reigstry Editor
Hoe te downgraden van Windows 11 naar Windows 10
Hoe Insider Channel te wisselen op Windows 11
Hoe u zich afmeldt bij een e-mailaccount in de Mail-app in Windows 11
Bash installeren en gebruiken op Windows 11
Een app vastzetten op de taakbalk in Windows 11
10 eenvoudige PowerShell-opdrachten die alle Windows-gebruikers moeten kennen
Een video maken van foto's in Windows 11