Сортировка путей к папкам с помощью PowerShell - PullRequest
0 голосов
/ 28 июня 2019

Я переношу файлы с сетевого диска на SharePoint.Инструмент миграции создает отчет для каждого файла и папки, которые переносятся в формате CSV.Записи в случайном порядке.Я хотел бы создать CSV-экстракт всех папок из отчета и отсортировать их по пути.

для например (имена папок только для иллюстрации)

https://mytenant/site/library/folder1
https://mytenant/site/library/folder1/folder12
https://mytenant/site/library/folder1/folder12/folder13
https://mytenant/site/library/folder2
https://mytenant/site/library/folder2/folder22
https://mytenant/site/library/folder2/folder22/folder23

Возможно ли это с помощью powershell?

Когда эти файлы переносятся в SharePoint, некоторые из этих файлов не открываются в окне обозревателя в IE11 из-за ограничения в размере 256 символов.
Я хочу определить такие папки, которые вызывают эту проблему, иопределите, какие папки с длинными именами при переименовании могут значительно уменьшить эту проблему.

1 Ответ

0 голосов
/ 29 июня 2019

Если я правильно понимаю вопрос и ваш комментарий, это может помочь:

$result = Import-Csv -Path 'D:\FilesAndFolders.csv' | 
            Where-Object {$_.Type -eq 'Folder'} | 
            Select-Object -ExpandProperty Path | 
            Sort-Object | 
            ForEach-Object {
                [PSCustomObject]@{
                    'Path' = $_
                    'Length' = $_.Length
            }
}

# output on screen
$result | Format-Table -AutoSize

# output to new CSV file
$result | Export-Csv -Path 'D:\PathLengths.csv' -Force -NoTypeInformation

Он читает отчет CSV, получает только объекты типа «Папка» и сортирует полученный массив строк путиимена.В качестве результата он добавляет свойство Length к каждому пути к папке.

На вашем примере вывод на экране:

Path                                                    Length
----                                                    ------
https://mytenant/site/library/folder1                       37
https://mytenant/site/library/folder1/folder12              46
https://mytenant/site/library/folder1/folder12/folder13     55
https://mytenant/site/library/folder2                       37
https://mytenant/site/library/folder2/folder22              46
https://mytenant/site/library/folder2/folder22/folder23     55
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...