powershell,write-host文件的所有文件名

Ray*_*and 3 powershell powershell-2.0 powershell-3.0

我现在在编写,窃取和修改脚本方面做得更好但在这里我有点困难.我的脚本汇总了特定文件夹中的文件并对其进行了计数.像这样 :

{
function alljournals 
{
$colItems =  (get-childitem  "$targetfolder" -include *.xlsx* -recurse | measure-object -property length -sum)
write-host "Collected all .xlsx files from all ImportJournal folders" -foregroundcolor "green"
"Number of files: "+ $colItems.count + [Environment]::NewLine + "Size of all files "+"{0:N2}" -f ($colItems.sum / 1MB) + " MB" 
}
alljournals
}
Run Code Online (Sandbox Code Playgroud)

使用write-host列出该文件夹中所有文件的最智能方法是什么?我试着把一个写主机$ colitems.Fullname放在没有好结果的地方.

我知道我可以轻松地将文件放在一个循环中,而不是使用foreach并显示文件名.但为此,我必须改变一切.那有办法吗?

现在它显示的内容如下:

Collected all .xlsx files from all Importjournalfolders
Number of files 15
Size of all files: 13,3mb
Run Code Online (Sandbox Code Playgroud)

在输出之前我需要的是具有路径的所有文件的列表

任何想法或提示?

Mik*_*ard 5

您可以使用tee-object捕获第一个管道中的文件列表,然后使用foreach.

$colItems =  (get-childitem  "$targetfolder" -include *.xlsx* -recurse | tee-object -variable files | measure-object -property length -sum)
$files | foreach-object {write-host $_.FullName}
Run Code Online (Sandbox Code Playgroud)