我想将我的默认记事本程序从 更改notepad2
为notepad++
(但我的问题比这更复杂,所以请不要停止阅读!)几个月前,当我将 更改为 时notepad
,notepad2
我并不知道符号链接,所以我只能手动替换可执行文件本身(有关如何在没有符号链接的情况下执行此操作的详细信息,请参阅脚注)。现在我明白了,我想使用符号链接来实现这个目的,因为每当 的新版本notepad++
发布时,不必手动更新可执行文件,这真的非常好。
然而,Windows 正在破坏我的计划!基于以下三个观察,我们可以得出结论,Windows 7 将自动重定向(即劫持!)notepad.exe
位于三个默认文件夹之外的任何文件或符号链接:
- 如果我们创建一个名为的符号链接,
notepad++.exe
该链接位于C:\
(即,在三个默认文件夹之外)并链接到原始 Notepad++ 可执行文件 --> 然后双击 Windows 资源管理器中的符号链接将导致 Notepad++ 打开(太棒了!) - 但是如果我们创建尝试同样的事情,除了给我们的符号链接命名
notepad.exe
(即,这个链接也硬链接回 Notepad++ 可执行文件)--> 双击它会导致 Notepad2 打开(wat) - 此外,如果我们创建 Notepad++ 可执行文件的副本(即不是符号链接而是文件本身的副本
.exe
)并将其重命名为notepad.exe
--> 双击此文件也会打开 Notepad2(wat)
如您所见,我的目标是在正确的系统文件夹中创建符号链接之前,先在单独的文件夹中测试符号链接。我的问题分为两部分:
- 鉴于上述行为,是否有使用符号链接进行更改(在脚注中描述)的特殊过程?
- 有没有什么方法可以禁用操作系统的绰号行为
notepad.exe
?
脚注:为了便于理解,更改 Windows 7 中的默认记事本应用程序涉及交换notepad.exe
三个文件夹中的可执行文件:C:\Windows\
,C:\Windows\System32
以及(如果您使用的是 64 位系统)C:\Windows\SysWOW64\
。(首次进行更改时,我们还需要执行一些步骤来授予权限,但这与此无关。)
答案1
好的,明白了;这是我第一次回答自己的问题!
为了使这篇文章成为一篇有用的独立文章,我将包含有关如何替换的“从头开始”的说明notepad
。开始吧!
“你不备份那个应用程序吗?”
- 我们需要更新三个相关文件夹
notepad.exe
(如果你使用的是 32 位 Windows 7,则需要更新两个):,C:\Windows\
如果C:\Windows\System32
你使用的是 64 位系统,C:\SysWOW64\
- 让我们备份现有版本的记事本。在新文件夹中
Notepad Backup
(或者如果您愿意,可以命名为更有创意的名称),notepad.exe
从每个相关文件夹(上面列出)复制并粘贴可执行文件。我已重命名我的文件夹;例如,原始的可执行文件在我的备份文件夹中C:\Windows\
命名为。notepad-CWindows.exe.BAK
- 我们需要更新三个相关文件夹
“将旧应用程序扔到路边”
首先,我们需要在相关文件夹中授予我们自己的正确权限。我们可以在每个实例(
notepad.exe
即,我们必须在 Windows 7 32 位中执行两次,在 Windows 7 64 位中执行三次):(i)右键单击
notepad.exe
(当然是在 Windows 资源管理器或我的电脑中),(二)点击
Properties
,(iii)导航到
Security
选项卡并点击Advanced
窗口底部的按钮,(iv)导航至
Owner
选项卡并点击Edit
(v)选择您的用户名(或者您可以选择
Adminstrator
并点击Okay
,(vi)从下拉菜单中选择您的姓名并单击
Okay
两次,(此时您应该看不到与 相关的更多窗口
Properties
),再次右键单击notepad.exe
,(vii)Security
再次导航到选项卡,从框中选择您的姓名Group or user names
(窗口上半部分),Allow
(viii)选中部分(窗口下半部分)旁边的复选框;完成此操作后,和Permissions for Administrators
旁边的复选框也应被选中Modify
Write
(ix)单击
Okay
,然后Yes
如果 Windows 警告您有关更改权限,请单击 (因为我们做了我们想做的事情!)对其他相关文件夹中的另外两个实例分别执行 (i) 到 (ix) 的操作
notepad.exe
(如果您使用的是 32 位 Windows 7,则需要另一个实例)。现在我们已经授予自己权限来按照我们的方式处理它,让我们删除每个实例
notepad.exe
(即从每个相关文件夹中)。
“你是一个很好的符号链接,你不会备份那个应用程序吗?”
- 由于某些原因,Windows 7 没有提供用于创建符号链接的内置图形实用程序(我尽量避免下载第三方应用程序),所以让我们启动
cmd.exe
它。我们需要以如下方式启动它Adminstrator
:单击Start
按钮,cmd
在搜索框中输入内容,右键单击cmd.exe
,然后单击Run as administrator
。 - 创建符号链接的命令名为
mklink
(您可以输入全部大写字母,但我尽量避免在可能的情况下对着电脑大喊大叫),其格式如下mklink /h "<Path:\To\New\Link.exe>" "<Path:\To\Source\File>"
。 (/H 选项确保我们创建正确类型的链接。) 注意:如果您更喜欢使用Powershell
,则必须在命令前面加上cmd.exe /c
(例如,cmd.exe /c mklink /h...) - 对我来说,该命令如下所示: 。请注意,我们在键入命令时
mklink /h "C:\Windows\notepad.exe" "C:\Program Files (x86)\Notepad++\notepad++.exe"
不需要使用<
或。>
- 现在,再次对另外两个相关位置(如果是 32 位,则为一个)运行该命令。
- 由于某些原因,Windows 7 没有提供用于创建符号链接的内置图形实用程序(我尽量避免下载第三方应用程序),所以让我们启动
就是这样!如果您点击,在搜索框中Start
输入并按下(无需等待搜索结果弹出),它应该会打开您的新记事本应用程序。notepad
Enter
我知道这很详细,但我希望以我第一次经历这个过程时所希望的详细程度来写这个...如果它听起来像“微观管理”,那么很抱歉!
现在我们进入最重要的一步:是时候庆祝我们的胜利了,he-who-must-not-be-notepad
去 YouTube 观看 Juvenile 90 年代的热门影片,这部影片启发了我们写这篇文章(当然,需要家长指导)。