将 Get-ChildItem 结果捕获到字符串数组中以供 HTML 输出

Capture Get-ChildItem results into string array for HTML output

我正在编写 PowerShell 脚本,我想捕获目录中的文件列表并将其存储到变量中。捕获后,我想将其打印到 HTML 文件中。我已经捕获了这样的数据:

$listDownloads = Get-ChildItem -Force "C:\Users\Someuser\Downloads"

现在,我想将 $listDownloads 转换为字符串并拆分它。我该怎么做?

我试过这个:

$listSplit = $listDownloads.ToString().Split(" ")

但我得到了这个输出:

System.Object[]

更新:

$html = '<html>'
$body = '<body>'
$p = '<p>'
$pClose = '</p>'
$StatusDownloads = 'Directory of the Downloads Folder'
$pTags = $p.ToString() + $StatusDownloads + $pClose.ToString();
$listDownloads = (Get-ChildItem -Force "C:\Users\Someuser\Downloads").Name;




function createHTML($addtoFile){

   $addtoFile | Add-Content 'status.html'

}

function printData($printData){

    Write-Output $printData
}


$html | Set-Content 'status.html'

createHTML($html)
createHTML($body)
createHTML($pTags)
createHTML($listDownloads)

当我尝试打印 $listDownloads 时,它会在同一行上显示所有数据(即文件 1 文件 2),我希望每个文件或文件夹都显示在新行上。我该怎么做?如果我在 Powershell 中键入 Get-ChildItem -Force "C:\Users\Someuser\Downloads",它会逐行给出文件列表。我想要在我的 HTML 页面上显示这种类型的输出。

我认为您想要拆分的唯一原因是获取文件名数组。

如果是这样,你可以这样做:

$list = (Get-ChildItem -Force "C:\Users\Someuser\Downloads").FullName

从你的更新中你需要传递给你的函数:

createHTML($listDownloads -join "`n")