如何阻止SecureCRT为UTF-8会话日志文件添加BOM
解决SecureCRT 9.3.1日志强制添加BOM的问题
一、修改SecureCRT配置文件禁用BOM
SecureCRT的INI配置中存在隐藏的BOM控制项,可通过以下步骤修改:
- 关闭所有SecureCRT进程,避免配置文件被占用
- 找到SecureCRT默认配置文件夹:
%APPDATA%\VanDyke\Config - 打开
global.ini(全局所有会话生效)或对应会话的session.ini(仅单会话生效) - 在文件中添加或修改如下配置项:
参数值D:"LogOutputUTF8BOM"=000000000代表禁用UTF-8日志的BOM,1为默认启用状态 - 保存文件后重启SecureCRT,新建日志测试是否生效
二、批量移除已有日志文件的BOM
针对已生成的数百个带BOM日志,可通过PowerShell脚本批量处理:
- 打开PowerShell,切换到日志文件所在文件夹
- 执行以下命令(将
*.txt替换为你的日志后缀,如.log):
若无需处理子文件夹,可去掉Get-ChildItem -Filter *.txt -Recurse | ForEach-Object { $content = Get-Content $_.FullName -Encoding UTF8 Set-Content $_.FullName -Value $content -Encoding UTF8NoBOM }-Recurse参数
三、验证生效状态
修改配置或处理文件后,用记事本打开日志,点击「文件」→「另存为」,若编码显示为「UTF-8」而非「UTF-8 with BOM」,则说明设置生效,此时Word打开不会再弹出编码选择窗口
内容的提问来源于stack exchange,提问作者Nicholas Sparrow
相关产品推荐
相关产品推荐

