我正在将VSCode编辑器用于Powershell脚本。而且我遇到了包含西里尔字符的路径问题。例如代码:
$users = 'C:\Users\Тестовый пользователь\Documents\userlist.csv'
foreach ($user in $users) {
$u = Get-Content -LiteralPath $users
Write-Host "Пользователь:" $u
}
返回错误:
找不到路径'C:\ Users \Ниармедк \ Documents \ userlist.csv“' 因为它不存在。
答案 0 :(得分:0)
如果未使用BOM指定编码,Powershell将使用其默认编码(主要是ASCII)读取文件:Understanding default encoding and Change the same in PowerShell
VS Code在默认配置中未设置bom
。为了避免在其他脚本中出现此问题,请在VS Code设置中添加以下选项:
{
"files.encoding": "utf8bom",
"files.autoGuessEncoding": true,
}
或者,您也可以更改c的powershell默认编码。