Что такое код для создания подпапки в каждой папке, а затем для перемещения всех файлов и папок в эту подпапку? - PullRequest
0 голосов
/ 11 июля 2019

Я организую все документы для наших клиентов, и структура должна быть такой: Customer Service\Customer\"Customer's Name"\Quotation.

Пока мне удалось создать папку «Цитата» в папке каждого клиента.

foreach ($folder in (Get-ChildItem 'C:\Users\S7051895\Desktop\Customer Service\Customer' -Directory)) {
    New-Item -ItemType Directory -Path ($folder.FullName + "\Quotes")
}

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

Ответы [ 2 ]

0 голосов
/ 11 июля 2019

Поскольку у вас уже есть код для создания подпапки, все, что осталось сделать, это переместить содержимое папки в новую подпапку.

$dir    = 'C:\Users\S7051895\Desktop\Customer Service\Customer'
$quotes = 'Quotes'

foreach ($folder in (Get-ChildItem $dir -Directory)) {
    $newdir = Join-Path $folder.FullName $quotes
    New-Item -ItemType Directory -Path $newdir | Out-Null
    Get-ChildItem $folder.FullName -Exclude $quotes |
        Move-Item -Destination $newdir
}
0 голосов
/ 11 июля 2019
foreach ($folder in (Get-ChildItem 'C:\Users\S7051895\Desktop\Customer Service\Customer' -Directory))
{
        $files = Get-ChildItem $folder.FullName
        $newfolder = new-item -ItemType directory -Path ($folder.fullname+"\Quotes")
        $files | Move-Item -Destination $newfolder.FullName
}

Вы можете получить список всех файлов в папке перед созданием папки "Quotes".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...