PowerShell:
Commandoregelargumenten lezen
Hoe
PowerShell leest command line argumenten met de $args
array of parameters. $args
is snel voor eenmalige scripts; parameters zijn beter voor robuuste tools.
Gebruikmakend van $args
# myscript.ps1
Write-Host "Je hebt de volgende argumenten ingevoerd:"
$args
Uitvoeren met .\myscript.ps1 Hallo PowerShell
, geeft als output:
Je hebt de volgende argumenten ingevoerd:
Hallo PowerShell
Gebruikmakend van Parameters
# myscriptparam.ps1
param (
[string]$Name,
[int]$Age
)
Write-Host "Hallo, $Name! Je bent $Age jaar oud."
Uitvoeren met .\myscriptparam.ps1 -Name Sarah -Age 32
, geeft als output:
Hallo, Sarah! Je bent 32 jaar oud.
Diepgaand
De moderne benadering van PowerShell voor command line argumenten is vergelijkbaar met een nalatenschap van zijn voorgangers zoals cmd en Bash. Echter, het versterkt de flexibiliteit en precisie.
Historische Context
Jaren terug, benaderden batchbestanden en shellscripts argumenten met genummerde variabelen (zoals %1
, %2
). PowerShell verfijnde dit met $args
en benoemde parameters voor meer duidelijkheid en controle.
Alternatieven
Er zijn alternatieven, zoals het parseren van ruwe invoer met Read-Host
of het accepteren van ingevoerde gegevens via een pijpleiding. Echter, $args
en parameters zijn naadlozer voor geautomatiseerde taken en scripts.
Implementatiedetails
$args
is een eenvoudige array, goed voor willekeurige invoer. Parameters, met hun attributen en typen, kunnen invoer valideren en zelfs de gebruiker om informatie vragen, waardoor scripts zelfdocumenterend worden en minder vatbaar voor fouten.