如何将PowerShell脚本结果保存到文件中

问题描述:

我正在使用以下脚本来显示所有子文件夹的名称以及这些文件夹中文件的数量。我无法弄清楚如何将结果保存到文件中。我已尽全力在网上搜索了数小时。如何将PowerShell脚本结果保存到文件中

dir -recurse | ?{ $_.PSIsContainer } | %{ Write-Host $_.FullName (dir $_.FullName | Measure-Object).Count } 

请勿使用Write-Host。该cmdlet只写入控制台(即,您不能将其重定向到文件)。

使用这样的事情,而不是:

Get-ChildItem -Recurse | Where-Object { $_.PSIsContainer } | ForEach-Object { 
    $_.FullName 
} 
+0

对不起,我是新来的PS,可以看到你没有把整个脚本,因为它没有计算的部分,当我运行它只是给了我的文件夹的列表,而不是文件的数量每个文件夹。你可以把我需要运行的整个脚本来计数吗?谢谢 – Aleks

发现这样做的另一种方式,让我保存到一个文件:

ls -rec | ? {$_.mode -match 'd'} | select FullName, @{N='Count';E={(ls $_.FullName | measure).Count}} | Out-File C:\results.txt 

我把你的代码,我升级了。试试这个:

$OUserOut = @() 
Get-ChildItem -Recurse | Where-Object { $_.PSIsContainer } | ForEach-Object { 
    $ObjProperties = New-Object PSObject 
    Add-Member -InputObject $ObjProperties -MemberType NoteProperty -Name FullName -Value $_.FullName 
    Add-Member -InputObject $ObjProperties -MemberType NoteProperty -Name InternalObj -Value (dir $_.FullName | Measure-Object).Count 
    $OUserOut += $ObjProperties 
} 
$OUserOut | Out-GridView -Title "Objects" 
$OUserOut | Export-Csv $env:USERPROFILE\Desktop\Out.csv 

最后两行有输出文件的信息。 “Out-GridView”是向您显示信息的表格,另一行用于将结果导出到csv文件。