news 2026/6/24 10:43:21

Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量

我创建了一个vbs文件,然后右键编辑,可以正常打开。

我又检查了js和vbs的注册表相关键,发现是一样的。

……等等,真的一样吗?

仔细对比Shell\Edit\Command下的默认值,发现:

  • VBSFile\Shell\Edit\Command的默认值类型为REG_EXPAND_SZ
  • JSFile\Shell\Edit\Command的默认值类型为REG_SZ

两者的数据内容相同,均为%SystemRoot%\system32\notepad.exe %1,但类型不同导致了不同的行为。

%SystemRoot%是一个环境变量,指向 Windows 系统目录(如C:\Windows)。REG_EXPAND_SZ类型会由系统自动将环境变量展开为实际路径,而REG_SZ类型只是普通字符串,系统不会对其进行展开。因此,当右键编辑.js文件时,Windows 尝试去寻找一个字面名为%SystemRoot%的路径,自然无法找到,于是报出"无法访问指定的设备、路径或文件"的错误。

但经过尝试,注册表键的默认值(即名称为空的值)无法直接修改为REG_EXPAND_SZ类型。

直接新建“可扩充字符串值”,系统也会要求输入一个名称,无法留空。

解决方法是使用reg命令。

REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f] [/reg:32 | /reg:64] KeyName [\\Machine\]FullKey Machine Name of remote machine - omitting defaults to the current machine. Only HKLM and HKU are available on remote machines. FullKey ROOTKEY\SubKey ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ] SubKey The full name of a registry key under the selected ROOTKEY. /v The value name, under the selected Key, to add. /ve adds an empty value name (Default) for the key. /t RegKey data types [ REG_SZ | REG_MULTI_SZ | REG_EXPAND_SZ | REG_DWORD | REG_QWORD | REG_BINARY | REG_NONE ] If omitted, REG_SZ is assumed. /s Specify one character that you use as the separator in your data string for REG_MULTI_SZ. If omitted, use "\0" as the separator. /d The data to assign to the registry ValueName being added. /f Force overwriting the existing registry entry without prompt. /reg:32 Specifies the key should be accessed using the 32-bit registry view. /reg:64 Specifies the key should be accessed using the 64-bit registry view. Examples: REG ADD \\ABC\HKLM\Software\MyCo Adds a key HKLM\Software\MyCo on remote machine ABC REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead Adds a value (name: Data, type: REG_BINARY, data: fe340ead) REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail Adds a value (name: MRU, type: REG_MULTI_SZ, data: fax\0mail\0\0) REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^% Adds a value (name: Path, type: REG_EXPAND_SZ, data: %systemroot%) Notice: Use the caret symbol ( ^ ) inside the expand string

以管理员身份打开命令提示符,执行以下命令:

reg add "HKEY_CLASSES_ROOT\JSFile\Shell\Edit\Command" /ve /t REG_EXPAND_SZ /d "%SystemRoot%\system32\notepad.exe %1"

执行后提示操作成功完成,回到regedit刷新即可看到默认值已变为REG_EXPAND_SZ。此时右键编辑.js

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/24 10:42:23

每日一技第三天——RAG的查询重写机制

导入先看这样一个场景前两天,我用豆包查高考作文题。我说:“豆包,简单回答一下今年新高考二卷的语文作文要求写什么。”它给了我材料主旨和核心立意。我接着又问了一句:“英语呢?”就两个字,但豆包准确地回…

作者头像 李华
网站建设 2026/6/24 10:36:19

AI拉呱-2026年06月19日AI技术洞察简报

AI拉呱-2026年06月19日AI技术洞察简报 作者:AI拉呱(Errol Yan) 定位:每日三分钟洞察世界AI技术动态,关注了解更多 今日概览 本文汇总了 2026-06-19 的高价值技术动态(评分≥7.0),共…

作者头像 李华
网站建设 2026/6/24 10:33:30

制造业AI视觉质检实战:5万张产品图的数据本地化训练与存储

制造业AI视觉质检实战:5万张产品图的数据本地化训练与存储 汽车零部件工厂里,质检员老周每天盯着产线,一小时要看300个零件。"肉眼疲劳了,漏检是常事,"他坦言,"去年一批转向节差点装到整车里…

作者头像 李华
网站建设 2026/6/24 10:27:57

agent 开发知识点

这样写完全可以,你的问题列表涵盖了大模型(LLM)Agent 框架从架构设计(Protocol、工厂模式)、异步并发(to_thread)、数据安全(脱敏)、状态管理(Memory、上下文…

作者头像 李华
网站建设 2026/6/24 10:26:27

Beyond Compare 5:3步快速激活与开源密钥生成工具终极指南

Beyond Compare 5:3步快速激活与开源密钥生成工具终极指南 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 当文件对比工具Beyond Compare 5弹出"评估模式错误"提示时&…

作者头像 李华