Che*_*eso 17 unicode powershell
我正在使用Sandcastle Helpfile Builder生成一个帮助文件(.chm).该项目是一个.shfbproj文件,它是XML格式,与msbuild一起使用.
我想自动更新生成的.chm文件中显示的页脚文本.我用这个片段:
$newFooter = "<FooterText>MyProduct v1.2.3.4</FooterText>";
get-content -Encoding ASCII $projFile.FullName |
%{$_ -replace '<FooterText>(.+)</FooterText>', $newFooter } > $TmpFile
move-item $TmpFile $projFile.FullName -force
Run Code Online (Sandbox Code Playgroud)
定向到$ TmpFile的输出始终是一个多字节字符串.但我不希望这样.如何将输出的编码设置为ASCII?
tom*_*asr 16
您可以在写入文件之前更改$ OutputEncoding变量.另一个选项是不使用>运算符,而是直接管道输出到Out-File并使用-Encoding参数.
Sha*_*evy 11
该>重定向操作符是一个"捷径" Out-File.Out-File默认编码是Unicode,但您可以将其命名为ASCII,因此管道Out-File代替:
Get-Content -Encoding ASCII $projFile.FullName |
% { $_ -replace '<FooterText>(.+)</FooterText>', $newFooter } |
Out-File $tmpfile -Encoding ASCII
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9444 次 |
| 最近记录: |