PowerShell脚本输出
问题描述:
造成性格怪异我有这样的脚本: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
为什么它有奇怪的字符?
答
这是由于编码,您应该使用set_content
CmdLet,如果需要,您可以在-encoding
参数上播放。
$PathArray | % {$_} | Set-Content $Results -Encoding UTF8