Я довольно новичок в powershell, так что я совсем не удивлюсь, если пойду не так.Я пытаюсь создать функцию, которая при исполнении выводит результаты в формате таблицы.Возможно, было бы даже возможно передать эти результаты в другую функцию для дальнейшего анализа.
Вот что у меня есть до сих пор.Это простая функция, которая перебирает список путей и собирает имя каталога и количество элементов в этом каталоге, помещает данные в хеш-таблицу и возвращает массив хеш-таблиц:
function Check-Paths(){
$paths =
"C:\code\DirA",
"C:\code\DirB"
$dirs = @()
foreach ($path in $paths){
if (Test-Path $path){
$len = (ls -path $path).length
}
else{
$len = 0
}
$dirName = ($path -split "\\")[-1]
$dirInfo = @{DirName = $dirName; NumItems = $len}
$dirs += $dirInfo
}
return $dirs
}
Это кажется достаточно простым.Однако, когда я запускаю команду, вот что я получаю:
PS > Check-Paths
Name Value
---- -----
DirName DirA
NumItems 0
DirName DirB
NumItems 0
Что я хочу это:
DirName NumItems
------- --------
DirA 0
DirB 0
Я мог бы просто взломатьиспользовать оператор write
, но я думаю, что должен быть гораздо лучший способ сделать это.Есть ли способ получить данные, отформатированные в виде таблицы, даже лучше, если это может быть так, что они могут быть переданы в другой метод?