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

Windows11 PowerShell执行test.bat出现乱码及命令识别错误求助

问题原因与解决办法

问题根源

PowerShell使用echo "内容" > 文件时,默认会以**UTF-16LE(Unicode)**编码保存文件,但Windows执行批处理的CMD环境默认采用OEM编码(日文系统对应Shift-JIS)。编码不匹配导致CMD无法正确解析文件内容,出现乱码和命令识别失败的情况。

解决方法

方法1:PowerShell中指定编码创建文件

使用Out-File或Set-Content命令,明确指定编码为OEM,确保CMD能正确读取:

# 用Out-File创建
"echo test" | Out-File -FilePath test.bat -Encoding OEM

# 或用Set-Content创建
Set-Content -Path test.bat -Value "echo test" -Encoding OEM

方法2:直接在CMD环境中创建文件

切换到CMD窗口后执行以下命令,CMD会自动用兼容的编码保存批处理文件:

echo echo test > test.bat

执行上述任意一种方法创建的test.bat,再运行就能正常输出test。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 03:15:54