Я хотел бы создать таблицу, показывающую количество файлов во всех подпапках с именем "andre tegninger" Я нашел здесь следующий код, который я изменил для фильтрации по интересующей меня подпапке.
dir -filter "*Andre tegninger*" -recurse | ?{ $_.PSIsContainer } | %{ Write-Host $_.FullName (dir $_.FullName | Measure-Object).Count }
Это отлично работает, но есть ли способ получить имя папки и количество файлов в двух отдельных столбцах? Спасибо!
Вы можете использовать Select-Object
, чтобы получить в отдельных полях ожидаемые свойства:
dir -filter "*Andre tegninger*" -recurse | ?{ $_.PSIsContainer } | Select-Object -Property FullName, {(dir $_.FullName | Measure-Object).Count}
Поскольку -Property ожидает свойство (очевидно), вы должны использовать {}
вокруг (dir $_.FullName | Measure-Object).Count
, чтобы сообщить powershell, что это вычисляемое выражение.
Вы получаете в качестве вывода:
FullName (dir $_.FullName | Measure-Object).Count
-------- --------------------------------------
Your list of folders...
Вы можете пометить имена полей, чтобы получить им какие-нибудь причудливые имена, например:
dir -filter "*Andre tegninger*" -recurse | ?{ $_.PSIsContainer } | Select-Object -Property @{label = "Path";expression = {$_.FullName}}, @{label = "Numer of files";expression = {(dir $_.FullName | Measure-Object).Count}}
И вы получаете на выходе:
Path Numer of files
---- --------------
вы можете выбрать столбцы