Задача: Показать основные папки в C:\temp, (отсортировано по верху / размеру), в папке c:\temp много подпапок, а также длинные пути.
лайк
c:\temp
c:\temp\folder1
c:\temp\folder1\sub_folder
c:\temp\folder2
c:\temp\folder2\sub_folder_more_folder_long_folders_files_names_as_well
Я хочу, чтобы отобразить список папок, как это
Name Type Size
folder1 Directory 10
folder2 Directory 12
Я использую следующий скрипт powershell, чтобы получить имя папки вместе с размером, отсортированным по размеру, и в итоге отобразить только 20 лучших папок.
ls c:\temp | select Name,
@{
Name="Type";Expression={
if($_.psIsContainer)
{
"Directory"
}
else
{
"File"
}
}
},
@{
Name="Size(GB)";
Expression=
{
[Math]::Round($(ls $_.FullName -recurse| measure Length -sum).Sum/1GB, 3)
}
} | sort -property "Size(GB)" -desc | Select -First 20
Это дает мне результаты,
USER1 Directory 11.166
USER2 Directory 2.917
USER3 Directory 0.042
The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.The specified path, file name, or both are too long.
Как я вижу, это также дает ошибку длинных путей, как я могу преодолеть эту проблему?