Vous n'avez pas besoin d'invoquer mkdir plusieurs fois, car New-Item
peut prendre un éventail de chemins. Par exemple :
mkdir $(1..9 | %{"ch$_"})
@DavidPostill a expliqué la plupart des concepts dans sa réponse. Cela tire également parti de l'interpolation de chaîne au lieu d'effectuer une concaténation explicite. De plus, le %
la sténographie est utilisée à la place de ForEach-Object
, mais a la même signification.
Malheureusement, il ne semble pas y avoir de moyen simple d'interpoler une chaîne dans un tableau de chaînes comme dans bash.
Quelle est la syntaxe pour créer plusieurs répertoires avec PowerShell
Utilisez la commande suivante :
0..9 | foreach $_{ New-Item -ItemType directory -Name $("ch" + $_) }
Comment ça marche :
0..9
l'opérateur de plage..
génère la séquence de nombres 0, 1, ... 9- les nombres sont canalisés
|
à la commande suivante foreach
boucles (à travers chaque numéro à tour de rôle){ ... }
est un bloc de scriptNew-Item -ItemType directory -Name $("ch" + $_)
crée les répertoires$_
est une variable automatique qui représente l'objet courant dans le pipeline (le nombre)
Exemple :
> 0..9 | foreach $_{ New-Item -ItemType directory -Name $("ch" + $_) }
Directory: F:\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 25/09/2016 14:57 ch0
d----- 25/09/2016 14:57 ch1
d----- 25/09/2016 14:57 ch2
d----- 25/09/2016 14:57 ch3
d----- 25/09/2016 14:57 ch4
d----- 25/09/2016 14:57 ch5
d----- 25/09/2016 14:57 ch6
d----- 25/09/2016 14:57 ch7
d----- 25/09/2016 14:57 ch8
d----- 25/09/2016 14:57 ch9