Powershell 如何在foreach循环中使用out文件

Powershell 如何在foreach循环中使用out文件,powershell,Powershell,我有这段代码,由于write host输出到命令行,所以显然它不会写入文件,所以它不工作。 如何使它不输出到命令行,而只输出到文本文件中找到的所有项目,将您的输出文件与-Append开关放在您要写入的行之后,并取出写入主机,这将是一种更干净的方式,可能更快。你不能坐马车 return您将在$list.Fields之后进入脚本,但我怀疑您不希望这样 $web = Get-SPWeb http://mysite ForEach($list in $web.Lists) { if($list.B

我有这段代码,由于
write host
输出到命令行,所以显然它不会写入文件,所以它不工作。
如何使它不输出到命令行,而只输出到文本文件中找到的所有项目,将您的
输出文件
-Append
开关放在您要写入的行之后,并取出
写入主机
,这将是一种更干净的方式,可能更快。你不能坐马车 return您将在$list.Fields之后进入脚本,但我怀疑您不希望这样

$web = Get-SPWeb http://mysite 
ForEach($list in $web.Lists) 
{

if($list.BaseType -eq "DocumentLibrary")
{
    Write-Host $list.Fields
    if($list.Fields.ContainsField("marking") -eq $true)
    {
        Write-Host "found" $list.Title
    }
}
} | Out-File test.txt

我没有写我想要输出到的文件吗?是的,像“find”$list.Title | Out file test.txt-Append
$doclibraries = (Get-SPWeb http://mysite).Lists | where {$_.BaseType -eq 'DocumentLibrary'}
foreach ($library in $doclibraries) {
    $line = $library.Fields
    if ($Line.ContainsField('marking')) {
        Add-Content -Value "$line found $($library.title)" -Path test.txt
    }
}