[本文知识点:1,使用批处理拿到Administrator管理员权限 2,使用批处理修改注册表 3,手动修改注册表]
你的记事本打开比较大的文件的时候会不会这样?
![fabd9b24e3a5296b3da474720c5e64c1.gif](https://i-blog.csdnimg.cn/blog_migrate/50c8bf24fdf7c22c68d0d06cb631cffd.gif)
自带的notepad打开较大文件会经常卡死
心灵脆弱的我,经常会因为这个原因觉得心情什么沮丧。很多时候都会想着如何记事本更加好用一点。
那么今天,它来了,功能与速度的完美结合,造就了它看起来就很吊的绝佳气质,别问落地价,因为开源无价!
先看看替换之后的记事本是如何打开一个比较大的文件的↓
![e73fc7f28f668ce1461e1c69574941d5.gif](https://i-blog.csdnimg.cn/blog_migrate/c3c9a901546986d8660688d3792766fb.gif)
替换为Notepad3之后,打开一个20M左右的文本文件,大概花7秒时间
花了大约有7秒时间的样子,比起来原生记事本的直接卡到提示关闭,要好太多了。#
关于具体哪个文本编辑器更好用的话,我就不多说了,自己喜欢就好。#
我下载的Notepad3 5.19.815.2595 便携版本的,安装版本的会自动将系统记事本给替换掉,客官可以自行选择。
![db3399bb825df1ddb93b4aaaa800eaa3.png](https://i-blog.csdnimg.cn/blog_migrate/66e4eb0b90acb22ee132ff373514638b.jpeg)
Notepad3的官网介绍
Notepad3,能支持挺多文件类型的语法高亮,能直接通过系统设置的方式运行当前文件(批处理、vbs等非常方便),可以追加剪贴板中的内容到当前文件,可以用来显示动态的日志,还可以透明显示,能最小化到状态栏,能置顶显示在屏幕最顶层,支持正则表达式,还能快速搜索选定的字词。总体而言简单快速,是顶替记事本日常查看文本文件的不错选择。
Notepad3压缩包搬运
接下来的篇幅,就来说说如何自己手动,来实现通过注册表将系统自带的记事本替换为Notepad3,并且如何还原。
## 编辑注册表实现用任意程序替换记事本
将压缩包解压放在自己喜欢的位置,比如我的是`E:greensoftotepad3`,然后进入目录,选择`notepad3.exe`,按住Shift,右键,选择`复制为路径`
![4897bd485f53e15580109a5cd9936405.png](https://i-blog.csdnimg.cn/blog_migrate/1629e75ab090230c2bd6c4b473fda906.jpeg)
Shift+右键有很多小彩蛋哦,快试试
`Win+R`打开运行,输入`regedit`(一般会简写成运行`regedit`),打开注册表编辑器,如果弹窗提示进行更改(UAC),点击"是"。#
![1351c0a0e00716cd36a26e327c231262.png](https://i-blog.csdnimg.cn/blog_migrate/12a06640df55e6a764796193a08d9305.jpeg)
Win+R --> regedit
在左边找到`HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options`,`右键`-->`新建`-->`项`。
![77b99bc072ab03ee73a20001cd631861.png](https://i-blog.csdnimg.cn/blog_migrate/0f84fb683434d6562177b058f1d42aed.jpeg)
位置在红框这里
新建项的名字输入`notepad.exe`,然后在`notepad.exe`上面右键点击,选择`新建`-->`字符串值`,输入`Debugger`,然后双击`Debugger`,输入Debugger字符串的值(前面的右键-->`复制为路径`,在后面加空格 `/z`):`"E:greensoftotepad3Notepad3.exe" /z`。
![57a073a1a70f8bebc3fd675e667b3609.png](https://i-blog.csdnimg.cn/blog_migrate/2e31a142850ffa47e1984251fb269305.jpeg)
字符串与它的值
然后,就替换完成啦,运行`notepad`应该会打开`notepad3`。然而,总不能让客官们每次都这么来一回吧,谁记得到这么麻烦的步骤呢。接下来看看用批处理如何完成注册表的修改。
## 使用批处理修改注册表的方法
将以下的代码保存为`替换与还原系统记事本.bat`,与`Notepad3.exe`放在一起(`E:greensoftotepad3`):
```
01 @echo off02 cls03 :init04 setlocal DisableDelayedExpansion05 set "batchPath=%~0"06 for %%k in (%0) do set batchName=%%~nk07 set "vbsGetPrivileges=%temp%xbc_%batchName%.vbs"08 setlocal EnableDelayedExpansion09 :checkPrivileges10 net FILE 1>nul 2>nul11 if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )12 :getPrivileges13 if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)14 echo.15 echo Get Admin...16 echo Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"17 echo args = "ELEV " >> "%vbsGetPrivileges%"18 echo For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"19 echo args = args ^& strArg ^& " " >> "%vbsGetPrivileges%"20 echo Next >> "%vbsGetPrivileges%"21 echo UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"22 "%SystemRoot%System32WScript.exe" "%vbsGetPrivileges%" %*23 exit /B24 :gotPrivileges25 setlocal & pushd .26 cd /d %~dp027 if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)28 setlocal enabledelayedexpansion29 echo.30 echo. ------------------------------31 echo. Notepad3辅助工具32 echo. by_学边成 wx@xbc1966633 echo. ------------------------------34 echo. 输入1替换记事本35 echo. 输入0还原记事本36 echo. 输入3加入右键菜单37 echo. 输入4删除右键菜单38 set /p "it=· > "39 40 if "!it!"=="1" (41 cd /d "%~dp0"42 reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionsotepad.exe" /v "Debugger" /d ""%~dp0Notepad3.exe" /z" /f > nul43 echo. 祝客官生活愉快!44 goto footer45 )46 if "!it!"=="0" (47 reg delete "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionsotepad.exe" /f > nul48 echo. 愿客官的生活总是好运相伴!49 goto footer50 )51 if "!it!"=="3" (52 reg add "HKEY_LOCAL_MACHINESOFTWAREClasses*shellotepad" /ve /d "用记事本打开" /f > nul53 reg add "HKEY_LOCAL_MACHINESOFTWAREClasses*shellotepadcommand" /ve /d "notepad %%1" /f > nul54 echo. 微笑一下,给自己加油打气。55 goto footer56 )57 if "!it!"=="4" (58 reg delete "HKEY_LOCAL_MACHINESOFTWAREClasses*shellotepad" /f > nul59 echo. 请相信,你的身边总有小美好。60 goto footer61 )62 echo. 哦嚯~~哦~63 :footer64 echo. 按空格键退出...65 pause>nul
```
代码中1-25行,功能为取得管理员权限来运行当前脚本。原理是输入一个vbs脚本,再调用这个vbs脚本,而这个vbs脚本本身会以UAC方式调用刚才的批处理脚本。
42行,`reg add`命令,用来往注册表中新增`项和值`,`/v`表示`所选项之下要添加的值名`,`/d`表示 `要分配给添加的注册表 ValueName 的数据`。
40行,if判断语句,`()`中间的语句是判断正确的时候要执行的语句。
以后,只要双击运行`替换与还原系统记事本.bat`,就可以随时替换或者还原系统自带的记事本了。
![45b292b8732baaeb469c9d807dc7e3bb.gif](https://i-blog.csdnimg.cn/blog_migrate/948cd9d48aad5974a0c36d8e017ef53d.gif)
window10 右键菜单 用记事本打开
路由器不好的客官可以通过了解更多以了解更多。
码字也挺花时间的。客官要是觉得有用,欢迎收藏备用,关注我,我们一起学编程。
#技术干货# #我要上头条# #我要涨粉# #我要分享# #玩着学编程#
56451824320