Array di PowerShell: come crearli e usarli
Le variabili sono la struttura dati più basilare in qualsiasi tipo di codifica(any type of coding) . Ma le singole variabili non sono sufficienti per la maggior parte degli scopi, specialmente quando si tratta di algoritmi più complessi.
È qui che entrano in gioco gli array. Che si tratti di C++ o Python , gli array sono presenti in ogni linguaggio di programmazione in qualche forma. Ma che dire di Windows PowerShell ? Come funzionano gli array di PowerShell ? Come li usi? Qual è la loro sintassi? Scopriamolo.
Array di PowerShell 101
In parole povere(Simply) , un array è solo una raccolta strutturata di variabili. L'idea è di eliminare il fastidio di tenere traccia di dozzine di nomi comprimendo le variabili correlate in un insieme numerato.
In PowerShell puoi creare una variabile anteponendo il simbolo $ al nome di una variabile. Per esempio:
$prime = 13
La variabile può contenere qualsiasi tipo di dati, dai numeri alle stringhe. Devi solo usare virgolette doppie o singole per specificare una stringa.
$name = “Levin”
Ora per creare un nuovo array, assegna semplicemente più valori alla stessa variabile, separati da virgole. Come questo:
$week = “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”
Alcune persone preferiscono eseguire in modo esplicito il cast di una variabile in un array per evitare confusione, sebbene ciò non sia necessario. Per fare ciò, metti i valori tra parentesi preceduti dal simbolo @.
$week = @(“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”)
Questo di solito è utile quando si tenta di inserire l'output di altri comandi in un array, dove non è possibile scriverli manualmente nel formato corretto.
Creazione di una matrice
Abbiamo già visto il metodo più comune per creare un array. Ma a seconda della situazione, ci sono altri modi che potrebbero essere più adatti. Ad esempio, se desideri creare una matrice che contenga un intervallo di numeri, puoi utilizzare l'operatore intervallo:
$digits = (0..9)
Questo creerà una matrice di tutte le dieci cifre da zero a nove. Puoi anche inizializzare un array vuoto, nel caso in cui desideri solo un posto dove archiviare i valori in un secondo momento.
$values = @()
Più(Multiple) array possono anche essere annidati l'uno nell'altro, anche se questo tipo di utilizzo può creare confusione molto velocemente.
$coordinates = @(
(5, 10, 23),
(11, 7, 16)
)
Per impostazione predefinita, un array può memorizzare qualsiasi tipo di variabile, numeri, stringhe o una combinazione di entrambi. Ma puoi definire esplicitamente un tipo nel caso in cui desideri limitare i valori inseriti. Per esempio:
[int[]] $numbers = 2,3,4,5
In questo modo, l'array può contenere solo numeri interi. Il tentativo di assegnargli qualsiasi altro tipo di valore restituirà un errore. Questo può essere utile per evitare semplici errori per gli array che lavorano esclusivamente con valori numerici, poiché l'immissione di una stringa in una variabile da utilizzare nei calcoli creerà problemi.
Accesso agli array
Finora abbiamo visto più metodi per creare array contenenti vari tipi di dati. Ma come si fa ad accedere a questi dati?
Gli array di PowerShell(PowerShell) utilizzano lo stesso formato utilizzato da altri linguaggi di programmazione. È possibile accedere a ciascuna variabile dell'array tramite il relativo numero di indice. Per esempio:
$var = $numbers[5]
Questo copierà il valore memorizzato nell'indice cinque dell'array $numbers nella variabile $varSi noti che gli indici di matrice iniziano a contare da 0, quindi si accede al primo elemento con zero.
Se dovessimo produrre questo, ad esempio:
“$days[2]”
Arriveremo mercoledì, non martedì.
È possibile utilizzare lo stesso metodo anche per modificare questi valori. Ad esempio, il comando seguente cambierà il secondo elemento dell'array in zero:
$numbers[1] = 0
Puoi anche aggiungere più elementi a un array esistente invece di modificare i valori delle voci correnti semplicemente aggiungendoli come un'espressione aritmetica.
$names += “Johny”
Questo metodo può essere utilizzato anche per aggiungere più voci contemporaneamente o anche interi array.
$names += “Charlie, Liam, Teresa”
$names += $surnames
Il metodo separato da virgole vale anche per l'accesso a più elementi dell'array. Immettendo questo, ad esempio, vengono archiviati i primi cinque elementi di $days in $weekdays .
$weekdays = $days[0,1,2,3,4]
Iterazione attraverso gli array
L'accesso manuale a particolari elementi di un array è positivo, ma se si desidera eseguire azioni sull'intero contenuto di un array, può diventare noioso. Un approccio più elegante consiste nell'usare un ciclo For.
I cicli For possono esaminare sistematicamente tutti gli elementi di un array, elaborando ogni valore in base alle istruzioni. Ecco come puoi costruire un ciclo del genere:
For ($i = 0 ; $i -lt $days.Length ; $i++){
$days[$i]}
La funzione array.Length restituisce la dimensione dell'array, che è fondamentalmente il numero di elementi in esso contenuti. Questo può essere inserito in un parametro di espressione di prova del ciclo For per eseguire un'iterazione completa su tutti gli elementi.
Il ciclo Foreach e il ciclo Foreach -object possono fare lo stesso con uno script PowerShell ancora più snello.(PowerShell)
Foreach ($day in $days){
$day}
Ciò consente di risparmiare lo sforzo di determinare le dimensioni dell'array, lasciando che i dettagli vengano gestiti da PowerShell .
Quando dovresti usare gli array di PowerShell(PowerShell Arrays)
La principale fonte di bug in uno script complesso sono le variabili referenziate in modo errato. Ciò accade a causa della presenza di un gran numero di variabili con nome univoco, il che rende difficile ricordare il loro scopo.
La soluzione più semplice per questo problema consiste nell'utilizzare ampiamente gli array. Tutte le variabili correlate in qualche modo possono essere assegnate a un singolo array e accessibili tramite i loro numeri di indice.
Il principale caso d'uso di Microsoft PowerShell(Microsoft PowerShell’s) è l'automazione e gli array svolgono un ruolo fondamentale in questo. Gli oggetti restituiti dai cmdlet di PowerShell possono essere archiviati in matrici e ripetuti. Ciò consente l'esecuzione automatica di attività sequenziali, semplificando notevolmente l'amministrazione del sistema.
Related posts
Come creare e utilizzare un'unità USB di ripristino di Windows 11
Come Delete o creare un compito programmato con PowerShell in Windows 11
Perché il mio PC non è compatibile con Windows 11? Use WhyNotWin11!
Come aggiungere il menu contestuale Crea punto di ripristino in Windows 11
PowerShell vs Prompt dei comandi: pro e contro
Come ritagliare PDF Pages in Windows 11 utilizzando lo strumento online o il software libero
Context Menu Editors: Add, Remove Context Menu articoli in Windows 11
Come downgrade da Windows 11 a Windows 10
Come nascondere Badges su Taskbar Icons in Windows 11
Come cambiare Theme in Microsoft Teams su Windows 11
Come cambiare Taskbar size su Windows 11
Checkit Tool ti dirà perché il tuo PC non supporta Windows 11
Come installare e utilizzare Bash su Windows 11
Come mostrare o nascondere le app più usate in Start Menu su Windows 11
Come ottenere Windows 11 Insider Preview Build ora
Come abilitare e utilizzare TPM Diagnostics Tool in Windows 11
Requisiti di sistema Windows 11: funzionalità-saggio Minimum Hardware
Quale Edition di Windows 11 ti verrà aggiornato?
Come installare Windows Subsystem per Linux su Windows 11
Come controllare se il tuo PC può eseguire Windows 11 PC Health Check tool