PowerShell Arrays: Hur man skapar och använder dem
Variabler är den mest grundläggande datastrukturen i alla typer av kodning(any type of coding) . Men enstaka variabler är knappast tillräckliga för de flesta syften, särskilt när det handlar om mer komplexa algoritmer.
Det är där arrayer kommer in. Oavsett om det är C++ eller Python , finns arrays i alla programmeringsspråk i någon form. Men hur är det med Windows PowerShell(Windows PowerShell) ? Hur fungerar PowerShell- arrayer? Hur använder du dem? Vad är deras syntax? Låt oss ta reda på.
PowerShell Arrays 101
Enkelt(Simply) uttryckt är en array bara en strukturerad samling av variabler. Tanken är att eliminera besväret med att hålla reda på dussintals namn genom att kollapsa relaterade variabler till en numrerad uppsättning.
I PowerShell kan du skapa en variabel genom att sätta $-symbolen före ett variabelnamn. Till exempel:
$prime = 13
Variabeln kan innehålla vilken datatyp som helst, från siffror till strängar. Du behöver bara använda dubbla eller enkla citattecken för att ange en sträng.
$name = “Levin”
Nu för att skapa en ny array, tilldela helt enkelt flera värden till samma variabel, separerade med kommatecken. Så här:
$week = “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”
Vissa människor föredrar att explicit gjuta en variabel i en array för att undvika förvirring, även om det inte är nödvändigt. För att göra detta, sätt värdena inom parentes med @-symbolen.
$week = @(“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”)
Detta är vanligtvis praktiskt när du försöker lägga utdata från andra kommandon i en array, där du inte kan skriva dem manuellt i rätt format.
Skapa en Array
Vi har redan sett den vanligaste metoden för att skapa en array. Men beroende på situationen finns det andra sätt som kan vara mer lämpliga. Om du till exempel vill skapa en array som innehåller ett antal nummer kan du använda intervalloperatorn:
$digits = (0..9)
Detta kommer att skapa en matris med alla tio siffror från noll till nio. Du kan också initiera en tom array, om du bara vill ha en plats att lagra värden på senare.
$values = @()
Flera(Multiple) arrayer kan till och med kapslas in i varandra, även om denna typ av användning kan bli förvirrande mycket snabbt.
$coordinates = @(
(5, 10, 23),
(11, 7, 16)
)
Som standard kan en array lagra vilken variabeltyp som helst, vare sig det är siffror, strängar eller en blandning av båda. Men du kan uttryckligen definiera en typ om du vill begränsa värdena i den. Till exempel:
[int[]] $numbers = 2,3,4,5
På så sätt kan matrisen bara innehålla heltal. Om du försöker tilldela någon annan typ av värde till den kommer ett fel att returneras. Detta kan vara användbart för att förhindra enkla fel för arrayer som uteslutande arbetar med numeriska värden, eftersom inmatning av en sträng i en variabel som ska användas i beräkningar kommer att skapa problem.
Åtkomst till Arrays
Hittills har vi sett flera metoder för att skapa arrayer som innehåller olika typer av data. Men hur går du tillväga för att komma åt denna data?
PowerShell- arrayer använder samma format som används av andra programmeringsspråk. Varje arrayvariabel kan nås med dess indexnummer. Till exempel:
$var = $numbers[5]
Detta kommer att kopiera värdet som är lagrat i index fem av arrayen $numbers i variabeln $varObservera att matrisindex börjar räknas från 0, så det första objektet nås med noll.
Om vi skulle skriva ut detta, till exempel:
“$days[2]”
Vi får onsdag, inte tisdag.
Du kan använda samma metod för att ändra dessa värden också. Till exempel kommer följande kommando att ändra det andra elementet i arrayen till noll:
$numbers[1] = 0
Du kan också lägga till fler element i en befintlig matris istället för att ändra värdena för aktuella poster bara genom att lägga till dem som ett aritmetiskt uttryck.
$names += “Johny”
Denna metod kan också användas för att lägga till flera poster samtidigt, eller till och med hela arrayer.
$names += “Charlie, Liam, Teresa”
$names += $surnames
Den kommaseparerade metoden gäller även för åtkomst till flera arrayelement. Om du anger detta, till exempel, lagras de första fem elementen i $days i $weekdays .
$weekdays = $days[0,1,2,3,4]
Itererar genom arrayer
Att manuellt komma åt vissa element i en array är bra, men om du vill utföra åtgärder på hela innehållet i en array kan det bli tråkigt. Ett mer elegant tillvägagångssätt är att använda en For-loop.
För loopar kan systematiskt gå igenom alla element i en array, bearbeta varje värde enligt instruktionerna. Så här kan du konstruera en sådan slinga:
For ($i = 0 ; $i -lt $days.Length ; $i++){
$days[$i]}
Funktionen array.Length returnerar storleken på arrayen, vilket i princip är antalet element i den. Detta kan kopplas in i en For-loops testuttrycksparameter för att heltäckande iterera över alla element.
Foreach -(Foreach) loopen och Foreach -object-loopen kan göra samma sak med ett ännu smalare PowerShell- skript.
Foreach ($day in $days){
$day}
Detta sparar dig ansträngningen att bestämma arrayens storlek och lämnar detaljerna kvar för PowerShell att hantera.
När ska du använda PowerShell-arrayer(PowerShell Arrays)
Den största källan till buggar i ett komplext skript är felaktigt refererade variabler. Detta händer på grund av närvaron av ett stort antal unikt namngivna variabler, vilket gör det svårt att komma ihåg deras syfte.
Den enklaste lösningen för det här problemet är att använda arrayer i stor utsträckning. Alla variabler som är relaterade på något sätt kan tilldelas till en enda array och nås via deras indexnummer.
Microsoft PowerShells främsta användningsfall är automatisering, och arrayer spelar en avgörande roll i det. Objekten som returneras av PowerShell -cmdlets kan lagras i arrayer och itereras över. Detta gör att sekventiella uppgifter kan utföras automatiskt, vilket avsevärt förenklar systemadministrationen.
Related posts
Hur man skapar och använder en Windows 11-återställnings-USB-enhet
Hur man tar bort eller skapar en schemalagd uppgift med PowerShell i Windows 11
VARFÖR är min dator inte kompatibel med Windows 11? Använd WhyNotWin11!
Hur man lägger till Skapa återställningspunkt kontextmeny i Windows 11
PowerShell vs Command Prompt: För- och nackdelar
Vilken version av Windows 11 kommer du att uppgraderas till?
Så här kontrollerar du om din dator kan köra Windows 11 PC Health Check-verktyget
Hur man snabbar upp Windows 11 och får det att köra Start, Run, Shutdown snabbare
Hur man installerar Windows 11 med Hyper-V i Windows
Chipset och moderkort som stöder Windows 11 operativsystem
Så här fäster du en app till aktivitetsfältet i Windows 11
Fix Datorn måste stödja TPM 2.0-fel när du installerar Windows 11
Hur man döljer märken på aktivitetsfältets ikoner i Windows 11
Klicka här för att ange ditt senaste autentiseringsmeddelande i Windows 11
Hur man visar eller döljer de mest använda apparna i Start-menyn i Windows 11
Den här datorn kan inte köra Windows 11 - Fixa det!
Sluta minimera fönster när en bildskärm är frånkopplad på Windows 11
Visa eller dölj ikoner i Aktivitetsfältets hörnspillområde på Windows 11
Hur man ändrar aktivitetsfältets storlek i Windows 11
Hur man lägger till eller tar bort mappar från Windows 10/11 Start-menyn