You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell脚本写入文件时出现方块字符问题求助

解决PowerShell写入文件时的方块字符问题

原因排查与解决步骤

  • 检查变量本身是否乱码
    先确认$driveLetter和$drivePath变量内容正常,执行以下代码查看输出:

    Write-Host "driveLetter: $driveLetter"
    Write-Host "drivePath: $drivePath"
    

    如果变量输出就有方块,说明变量来源的编码存在问题,需先修正变量的获取逻辑。

  • 使用无BOM的UTF8编码写入
    PowerShell默认的UTF8编码带BOM,部分文本工具或程序读取这类文件时会显示方块。改用无BOM的UTF8编码写入:

    Set-Content -Path "$scriptPath\$scriptName" -Value $PSscript -Encoding UTF8NoBOM
    
  • 转换变量编码
    若变量是从ANSI/GBK等编码的来源读取的,先将变量转成UTF8编码:

    $driveLetter = [System.Text.Encoding]::UTF8.GetString([System.Text.Encoding]::Default.GetBytes($driveLetter))
    $drivePath = [System.Text.Encoding]::UTF8.GetString([System.Text.Encoding]::Default.GetBytes($drivePath))
    
  • 确认查看工具的编码设置
    用文本编辑器打开文件时,确保选择UTF8编码(而非ANSI)。比如记事本中,可通过「文件」→「另存为」查看当前编码,若为ANSI,需切换编码重新打开文件。

内容的提问来源于stack exchange,提问作者Tan512

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 00:02:47