Como escrever uma função de árvore personalizada para contar o número de arquivos

0

Se eu executar tree /f no meu PowerShell , obtenho um resultado como

D:.
├─dir1
│  │  file1.avi
│  │  file2.txt
│  │  file3.xml
│  │
│  └─dirdir
│          f.txt
│          m.txt
│
├─dir2
│      testfile1.txt
│
├─dir3
└─dir4

Mas eu não espero obter o nome do arquivo no nível final, espero obter o número do arquivo. Eu quero dizer isso é o que eu esperava

D:.
├─dir1
│  │  3
│  │
│  └─dirdir
│          2
│
├─dir2
│      1
│
├─dir3
└─dir4

Como fazer essa função com Powershell ?

    
por yode 02.06.2018 / 11:21

1 resposta

1

Isso não seria possível sem modificar a saída.
Eu fiz algo semelhante com a modificação da saída do cmdlet pscx
Show-Tree para incluir LastWriteTime

Mas, eventualmente, esse forro chega perto:

gci D: -R -File|Group Directory | Select Count,Name 

Exemplo de saída de A:

Count Name
----- ----
    1 A:\
    1 A:\Processed
    4 A:\temp\rktest
    1 A:\temp\rktest\SubDirL1
    1 A:\temp\rktest\SubDirL1\SubDirL2

Ou para ter cabeçalhos melhores:

> gci -R -File|Group Directory|%{[PSCustomObject]@{FileCount=$_.Count;Directory=$_.Name}}

FileCount Directory
--------- ---------
        1 A:\
        1 A:\Processed
        4 A:\temp\rktest
        1 A:\temp\rktest\SubDirL1
        1 A:\temp\rktest\SubDirL1\SubDirL2
    
por 02.06.2018 / 12:19

Tags