2014-06-06 48 views
0
$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 

我有這段代碼,由於write-host輸出到命令行,所以顯然不會寫入文件。 我怎樣才能使它所以它不會輸出到命令行,但只是輸出找到的所有文本文件中的項目如何使用foreach循環的out-file

回答

2

將您Out-File你想寫線後-Append開關,取出Write-Host

+0

我不是在寫文件我希望它輸出至? – user3328513

+0

是的,就像「找到」$ list.Title | Out-File test.txt - 附加 – notjustme

0

這將是一個更乾淨的方式來做到這一點,可能會更快。你不會得到你在$ list.Fields後腳本把馬車 回報,但我懷疑你不希望反正

$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 
    } 
}