Несколько каталогов: Powershell эквивалент " mkdir dir{1..9}"?

каков синтаксис для создания нескольких каталогов с PowerShells md (или mkdir, New-Item...) эквивалентно команде ' nix mkdir ch{1..9} т. е.

~/parent_dir/  
ch1/  
ch2/  
ch3/  
ch4/  
ch5/  
ch6/  
ch7/  
ch8/  
ch9/  

Я посмотрел в справочных страницах и get-help для примеров, но я не знаю синтаксиса для PowerShell, чтобы сделать такую простую вещь. Спасибо тебе.

19
задан Uwe Keim
27.02.2023 6:27 Количество просмотров материала 3590
Распечатать страницу

3 ответа

каков синтаксис для создания нескольких каталогов с помощью PowerShell

используйте следующую команду:

0..9 | foreach $_{ New-Item -ItemType directory -Name $("ch" + $_) }

как работает:

пример:

> 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
16
отвечен DavidPostill 2023-02-28 14:15

вам не нужно вызывать mkdir несколько раз, потому что New-Item может принимать массив путей. Например:

mkdir $(1..9 | %{"ch$_"})

@DavidPostill объяснил большинство понятий в ответ. Это также использует строку интерполяции вместо явного объединения. Кроме того,% сокращение используется вместо ForEach-Object, но имеет то же значение.

к сожалению, не кажется, что будет легкая способ интерполяции строки в массив строк, как в bash.

22
отвечен Bob 2023-02-28 16:32

Я хотел бы использовать для версии цикла, как это легко запомнить и может быть применен ко многим ситуациям. Даже его можно использовать для множественной команды.

для эквивалента этой команды bash:

для i в {1..9}; do

mkdir ch$i

сделано

...в PowerShell использовать:

for($i=1;
$i -le 10;
$i++)
{md ch$i}
1
отвечен mamun 2023-02-28 18:49

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх