Дерево каталогов PowerShell нового элемента с несколькими каталогами

Я умею пользоваться New-Item в PowerShell, поэтому я могу создать несколько каталогов. Но могу ли я в любом случае сделать этот код короче?

New-Item 'c:\drivers\Windows\Network\32bit PowerShell' -Type Directory
New-Item 'c:\drivers\Windows\Network\64bit PowerShell' -Type Directory
New-Item 'c:\drivers\Windows\Sound\32bit PowerShell' -Type Directory
New-Item 'c:\drivers\Windows\Sound\64bit PowerShell' -Type Directory
New-Item 'c:\drivers\Utility' -Type Directory
New-Item 'c:\drivers\Software' -Type Directory

Как вы можете видеть, я пытаюсь создать это дерево каталогов:

C: \ драйверы
├─Windows
│ ├─Сеть
Bit │ ├─32bit PowerShell
64 │ └─64bit PowerShell
Ound └─Звук
32 ├─32bit PowerShell
64 └─64bit PowerShell
├─Utility
└─Software

2 ответа

Решение

Составьте список путей и введите его в New-Item:

$folders = 'C:\drivers\Windows\Network\32bit PowerShell',
           'C:\drivers\Windows\Network\64bit PowerShell',
           ...

$folders | ForEach-Object {
    New-Item -Path $_ -Type Directory
}

New-Itemможет использовать несколько путей в виде списка:

      New-Item -ItemType Directory -Path `
'c:\drivers\Utility','c:\drivers\Software', `
'c:\drivers\Windows\Network\32bit PowerShell', `
'c:\drivers\Windows\Network\64bit PowerShell', `
'c:\drivers\Windows\Sound\32bit PowerShell', `
'c:\drivers\Windows\Sound\64bit PowerShell'
Другие вопросы по тегам