Obtendo o tamanho da pasta classificando por tamanho incluindo o nome do caminho muito longo

1

Tarefa: Exibir as pastas principais em C: \ temp, (ordenadas por top / size), a pasta c: \ temp tem muitas subpastas dentro dela, caminhos longos também.

como

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

Eu quero exibir pastas como esta

Name     Type        Size
folder1  Directory   10
folder2  Directory   12

Estou usando o seguinte script powershell para obter o nome da pasta junto com o tamanho, classificado por tamanho e no final Exibir apenas as 20 principais pastas.

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

Isso me dá resultados,

    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. 

Como eu posso ver, também dá erro de nomes de caminho longo, como posso superar esse problema?

    
por Syed Jahanzaib 20.02.2017 / 07:48

1 resposta

0

Você provavelmente não deve ter caminhos tão profundos. Vários aplicativos serão ou não poderão acessá-los e se resume à implementação do aplicativo.

Dito isso, você pode olhar para esta pergunta e mais especificamente na \? notação conforme descrito aqui e verifique sempre que você pode contornar a limitação usando PS com isso.

    
por 20.02.2017 / 09:33