Powershell发出out-file

时间:2016-04-11 15:13:51

标签: powershell

我正在尝试在文本文件中搜索某个文本,然后仅在匹配时将该文本输出到其他文本文件。我有麻烦创造这个。我附上了我的代码,但问题是无论创建results.txt文件是什么,文件都是空白的。我只想在multiplatform_201604110718.txt中有CCTK STATUS CODE:SUCCESS的情况下创建results.txt文件。

$Path = "C:\multiplatform_201604110718.txt"
$Text = "CCTK STATUS CODE : SUCCESS"
$PathArray = @()
$Results = "C:\results.txt"

# This code snippet gets all the files in $Path that end in “.txt”.
Get-ChildItem $Path -Filter “*.txt” |
Where-Object { $_.Attributes -ne “Directory”} |
ForEach-Object {
If (Get-Content $_.FullName | Select-String -Pattern $Text) { 
$PathArray += $_.FullName
$PathArray += $_.FullName
}
}
Write-Host “Contents of ArrayPath:”
$PathArray | ForEach-Object {$_}
$PathArray | % {$_} | Out-File "C:\Resuts.txt"

1 个答案:

答案 0 :(得分:1)

如果你真的只需要检查一个文件就可以用更少的代码来完成:

$Text = "CCTK STATUS CODE : SUCCESS"
$p = "C:\Users\kzbx\Desktop\test.txt"

if($ln = Select-String -pattern $text -path $p){
$ln.Line | Out-File C:\result.txt
}

这会将文本出现的行写入结果文件中(如果我理解正确的话,那就是你需要的,如果不是,请澄清;)