Если я запускаю tree /f в моей PowerShell , я получу такой результат, как

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

Но я не надеюсь получить имя файла на последнем уровне, я надеюсь получить номер файла. Я имею в виду, это то, что я ожидал

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

Как сделать такую функцию с Powershell?

1 ответ1

1

Это было бы невозможно без изменения вывода.
Я сделал нечто подобное с изменением вывода командлета pscx.
Show-Tree для включения LastWriteTime

Но в конце концов этот лайнер приближается:

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

Пример вывода из А:

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

Или, чтобы иметь лучшие заголовки:

> 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .