Lecture des arguments de ligne de commande

PowerShell:
Lecture des arguments de ligne de commande

How to:

PowerShell permet de jouer avec les arguments de commande de manière assez directe. Voici comment on s’y prend.

# Exemple d'un script PowerShell qui lit les arguments de ligne de commande.

# Pour exécuter ce script avec des arguments : .\script.ps1 arg1 arg2 arg3

# Afficher tous les arguments :
Write-Host "Tous les arguments: $args"

# Accéder au premier argument :
Write-Host "Premier argument: $($args[0])"

# Nombre d'arguments :
Write-Host "Nombre d'arguments: $($args.count)"

Et voici ce que vous pourriez voir s’afficher :

Tous les arguments: arg1 arg2 arg3
Premier argument: arg1
Nombre d'arguments: 3

Deep Dive

Historiquement, lire des arguments de ligne de commande permettait aux premiers programmes d’avoir un degré d’interaction avec l’utilisateur. En PowerShell, $args est une variable automatique qui contient un tableau des arguments non traités. Alternativement, on peut employer les param pour définir des arguments plus formels avec des noms et types spécifiques.

Les paramètres peuvent être rendus obligatoires ou optionnels, et on peut même leur assigner des valeurs par défaut. Voici un exemple :

param(
  [Parameter(Mandatory=$true)]
  [string]$FilePath,
  
  [Parameter(Mandatory=$false)]
  [int]$MaxLines = 10
)

Write-Host "Traitement du fichier: $FilePath avec un maximum de $MaxLines lignes."

Côté implémentation, les arguments de ligne de commande sont traditionnellement des chaînes de caractères, mais PowerShell permet leur conversion automatique en types plus spécifiques, améliorant ainsi la robustesse des scripts.

See Also