Переменные таблицы Powershell внутри foreach - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь собрать таблицу вместе или экспортировать ее как CSV. Я ищу определенные файлы в нескольких каталогах и сообщаю о количестве файлов в каталоге.

Что я ищу:

C:\Users\Admin\Documents\Clients Test Folder\

Name, Count
ClientA 3
ClientB 4
ClientC 5

То, что у меня есть, дает мне то, что мне нужно, но не форматирует в виде таблицы, и мне не повезло, что я включил это в свой сценарий.

Get-ChildItem "C:\Users\Admin\Documents\Clients Test Folder" | Select Name | Export-Csv c:\users\Admin\documents\Client.csv
$client = Import-Csv c:\users\Admin\documents\Client.csv

foreach ($Name in $client)
{
    $path = Join-Path "C:\Users\Admin\Documents\Clients Test Folder\" -ChildPath $Name.Name
    $count = Get-ChildItem $path -Recurse -File -Include *.txt, *.rtf, *.doc*, *.xls* | Measure-Object | %{$_.Count}
    [pscustomobject]@{
        Name = $Name.Name
        Count = $count 
    }
}

Мои результаты:

Name             Count
----             -----
ClientA              3
ClientB              4
ClientC              5

1 Ответ

0 голосов
/ 05 сентября 2018

Вы пытались добавить свой пользовательский объект в массив?

$output = New-Object System.Collections.ArrayList

Внутри вашей петли

$output.add([pscustomobject]@{ Name = $Name.Name Count = $count })

тогда вы сможете экспортировать переменную в CSV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...