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

时间:2016-04-20 21:53:50

标签: file powershell count directory

我使用下面的脚本显示所有子文件夹'名称和这些文件夹中的文件数。我无法弄清楚如何将结果保存到文件中。我尽我所能,并在网上搜索了几个小时。

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

3 个答案:

答案 0 :(得分:0)

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

使用类似的东西:

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

答案 1 :(得分:0)

找到另一种方法,让我保存到文件:

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

答案 2 :(得分:0)

我拿了你的代码然后升级了它。试试这个:

$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文件的另一行。