2017-02-16 131 views
1

造成性格怪异我有这样的脚本:PowerShell脚本输出

# Read in the RESOURCE ID values I want to locate 
$TextToFind = Get-Content -Path .\ResourceIDs.txt 

$Text = "" 
$PathArray = @() 
$Results = ".\ResultsResourceIDs.txt" 

# Now iterate each of these text values 
$TextToFind | ForEach-Object { 
    $Text = $_ 
    Write-Host "Checking for: " $Text 

    If ((Get-Content .\Resources.rc) | Select-String -Pattern $Text) { 
     $PathArray += $Text + "¬Found" 
    } 
    Else { 
     $PathArray += $Text + "¬Not Found" 
    } 
} 



Write-Host "Contents of ArrayPath:" 
$PathArray | ForEach-Object {$_} 

$PathArray | % {$_} | Out-File $Results 

它工作正常。但是由此产生的文本文件具有如下内容:

IDR_ANNOUNCE_TEXT¬Not Found 
IDC_BUTTON_UNDO¬Found 
IDS_STR_CBS2¬Not Found 

为什么它有奇怪的字符?

回答

2

这是由于编码,您应该使用set_content CmdLet,如果需要,您可以在-encoding参数上播放。

$PathArray | % {$_} | Set-Content $Results -Encoding UTF8