Powershell正在替换文件中的空格

时间:2017-09-29 15:16:56

标签: powershell

这可能是我不熟悉的unicode问题。 我已经创建了一个脚本来修补工作中的一堆机器,该补丁包括在配置文件(.ini)中添加一行。配置文件必须以空行开头(不要问我原因)。当我运行脚本时,文件开头的空行现在有一个'?'字符。不知道它来自哪里。

$computer = Read-Host -Prompt 'Computer Name: ' 
$Path = "\\" + $computer + "\c$\Program Files\WinMagic\SecureDoc-NT\UserData\"
$fileName = $path + "SecurDoc.ini"

$content = Get-Content $fileName
$content[1] += "`r`nWMGAutoFix=1"
$content | set-content $fileName

1 个答案:

答案 0 :(得分:2)

Powershell默认将文件编码为ANSI。解决方案是使用以下内容:

$content | Set-Content $filename -encoding Unicode