这可能是我不熟悉的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
答案 0 :(得分:2)
Powershell默认将文件编码为ANSI。解决方案是使用以下内容:
$content | Set-Content $filename -encoding Unicode