PowerShell : Foreach-Object avec l'alphabet
Il n'est pas rare que nous utilisions la fonction foreach-object pour afficher des nombres séquentiellements sur PowerShell en exécutant "1..10 | foreach-object{$_}".
Donc si on veut faire la même chose avec les lettres, on devrait faire ceci : "a..z | foreach-object{$_}"
Comme on peut le voir, on n'obtient pas ce que l'on veut. L'alternative est donc d'utiliser la table ASCII puis la reconvertir avec la balise [char] convertir le nombre en alphabet.
"65..90 | foreach-object{[char]$_}" Pour générer la liste de A à Z en majuscule.
"97..122 | foreach-object{[char]$_}"Pour générer la liste de A à Z en minuscule.
97..122 | ForEach-Object{new-item -type directory -path $([char]$_)}
Ici, avec la même méthode, on peut rechercher puis déplacer copier les fichiers dans chacun des dossiers qui ont été précédemment créés.
97..122 | ForEach-Object{Get-ChildItem | Where-Object name -like $([char]$_ + '*.gbc') | move-item -Destination $('.\'+[char]$_) -force}
Cela fonctionne parfaitement. Comme l'exemple le prouve on peut l'appliquer pour travailler avec d'autres cmdlets.
Commentaires
Enregistrer un commentaire