No necesita invocar mkdir varias veces, porque New-Item
puede tomar una serie de caminos. Por ejemplo:
mkdir $(1..9 | %{"ch$_"})
@DavidPostill ha explicado la mayoría de los conceptos en su respuesta. Esto también aprovecha la interpolación de cadenas en lugar de realizar una concatenación explícita. Además, el %
se usa taquigrafía en lugar de ForEach-Object
, pero tiene el mismo significado.
Desafortunadamente, no parece haber una manera fácil de interpolar una cadena en una matriz de cadenas como en bash.
¿Cuál es la sintaxis para crear varios directorios con PowerShell
?Utilice el siguiente comando:
0..9 | foreach $_{ New-Item -ItemType directory -Name $("ch" + $_) }
Cómo funciona:
0..9
el operador de rango..
genera la secuencia de números 0, 1, ... 9- los números están canalizados
|
al siguiente comando foreach
bucles (a través de cada número a su vez){ ... }
es un bloque de scriptNew-Item -ItemType directory -Name $("ch" + $_)
crea los directorios$_
es una variable automática que representa el objeto actual en la canalización (el número)
Ejemplo:
> 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