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.

Zie ook