Как использовать цикл «Get-ChildItem» и «ForEach» для всех папок в Powershell? - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть папка с именем «Папка-тест».В папке «Папка-тест» находятся 3 подпапки: «A», «B-1», «C-1».

Как использовать «Get-ChildItem» для получения спискапапок, содержащих в имени "-" ("B-1", "C-1").Затем используйте «ForEach-Object» и «Copy-Item», чтобы скопировать папки, содержащие «-» в имени («B-1», «C-1»), в другую папку.

Мой старыйкод:

$path = (gci "D:\Folder-All" -Filter "Folder-Test" -Recurse).FullName
mkdir "D:\Another-Folder"
Get-ChildItem $path -Directory |
ForEach-Object {if (($_.enumeratefiles() | measure).count -gt 0)
{Copy-Item $path "D:\Another-Folder" -Filter {PSIsContainer} -Recurse -Force}
               }

1 Ответ

0 голосов
/ 12 февраля 2019

Получает все каталоги в "D: \ Folder-All \ Folder-Test", которые содержат тире в имени, и рекурсивно копирует их в "D: \ Another-Folder".

Get-ChildItem -Path "D:\Folder-All\Folder-Test\*-*" -Directory | 
Copy-Item -Destination "D:\Another-Folder" -Recurse
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...