批处理脚本中SaRAcmd参数乱码:-AcceptEula异常致执行失败
问题原因与解决方案
核心原因
你遇到的乱码和参数错误问题,本质是BAT脚本里的–AcceptEula使用了全角长破折号(–),而非CMD命令行要求的半角短横杠(-)。手动在CMD输入时你用的是半角短横杠,所以能正常执行;但脚本里的长破折号在CMD的ANSI编码环境下会被解析为乱码ÔÇô,导致系统识别为无效参数。
解决步骤
- 替换参数的横杠:
打开BAT脚本,把–AcceptEula替换为-AcceptEula(直接用键盘上的减号键输入半角短横杠)。修改后的完整命令应为:%temp%\installscript\SaRa_cmd\SaRAcmd.exe -S OfficeScrubScenario -AcceptEula -Officeversion All - 检查脚本编码:
用记事本打开BAT脚本,点击「文件」→「另存为」,在编码选项里选择「ANSI」后保存。UTF-8编码(尤其是带BOM的UTF-8)可能导致CMD解析字符时出现乱码。 - 验证所有参数格式:
确认脚本里所有参数的前缀横杠都是半角短横杠,避免混入全角符号或排版用的长破折号。
额外验证
修改后运行BAT脚本,若仍有问题,可先在CMD里执行echo –AcceptEula,观察输出是否为乱码——如果输出是ÔÇôAcceptEula,说明还是符号格式问题,需再次检查替换是否彻底。
内容的提问来源于stack exchange,提问作者Hannesens
相关产品推荐
相关产品推荐

