我发现环境中有一个LANG
具有值的环境变量zh_CN
(由 报告set
),但是这个变量不存在在系统范围/当前用户环境中。
- 重启后,
LANG
环境变量仍然不存在。 - 经过一些操作之后,
LANG
会出现,并且它影响了explorer.exe
进程的环境(使用procexp.exe查看explorer.exe的环境),因此,所有新创建的子进程都会继承的环境explorer.exe
。 - 编辑任何环境变量并保存后,
LANG
将会消失。 - 重复步骤2,
LANG
不再出现。
我不知道步骤 2 中的哪个操作导致了LANG
出现此问题,但最有可能的是,右键单击文件然后弹出菜单时出现此问题。
所以我怀疑这是一些 shell 扩展程序添加LANG
环境变量的功能explorer.exe
。在弹出的菜单中,有以下几个 shell 扩展:
- 7-Zip 9.22 测试版
- 压缩包 4.00
- gVim 7.3.46
- EditPlus v3.30 (v605)
- Notepad++ 5.9(UNICODE)
- Git 1.7.4-preview20110204
- TortoiseCVS 1.12.2
- TortoiseSVN 1.16.16
- XnView Shell 扩展 3.0.0(XnView 1.98)
这些程序大部分都与环境变量(GUI 语言)有关LANG
,但是哪一个呢?有没有可以监视环境变量的工具?
答案1
暴力破解方法:
- 打开命令提示符,运行
set LANG=
以删除变量。 - 下载韓規劃并禁用除一个扩展之外的所有扩展。
- 关闭资源管理器并从之前打开的命令提示符重新启动。
- 右键单击一个文件,检查是否出现环境变量。
- 如果
%LANG%
出现,则完成。否则,启用另一个扩展并转到#3。
您可以通过 Process Explorer 终止它来关闭 Explorer,但这是一种“干净退出”的方法:
Vista/7:开始,按住Ctrl+ Alt+ Shift,右键单击空白处,选择关闭资源管理器
经验值:开始→关,按住Ctrl+ Alt+ Shift,点击取消
旧版本:开始→关闭,按住Ctrl+ Alt+ Shift,点击取消