bat 判断文件名字含有某些字段_秒开较大文件的windows记事本开源替代-Notepad3

[本文知识点:1,使用批处理拿到Administrator管理员权限 2,使用批处理修改注册表 3,手动修改注册表]

你的记事本打开比较大的文件的时候会不会这样?

fabd9b24e3a5296b3da474720c5e64c1.gif

自带的notepad打开较大文件会经常卡死

心灵脆弱的我,经常会因为这个原因觉得心情什么沮丧。很多时候都会想着如何记事本更加好用一点。

那么今天,它来了,功能与速度的完美结合,造就了它看起来就很吊的绝佳气质,别问落地价,因为开源无价!

先看看替换之后的记事本是如何打开一个比较大的文件的↓

e73fc7f28f668ce1461e1c69574941d5.gif

替换为Notepad3之后,打开一个20M左右的文本文件,大概花7秒时间

花了大约有7秒时间的样子,比起来原生记事本的直接卡到提示关闭,要好太多了。#

关于具体哪个文本编辑器更好用的话,我就不多说了,自己喜欢就好。#

我下载的Notepad3 5.19.815.2595 便携版本的,安装版本的会自动将系统记事本给替换掉,客官可以自行选择。

db3399bb825df1ddb93b4aaaa800eaa3.png

Notepad3的官网介绍

Notepad3,能支持挺多文件类型的语法高亮,能直接通过系统设置的方式运行当前文件(批处理、vbs等非常方便),可以追加剪贴板中的内容到当前文件,可以用来显示动态的日志,还可以透明显示,能最小化到状态栏,能置顶显示在屏幕最顶层,支持正则表达式,还能快速搜索选定的字词。总体而言简单快速,是顶替记事本日常查看文本文件的不错选择。

Notepad3压缩包搬运

接下来的篇幅,就来说说如何自己手动,来实现通过注册表将系统自带的记事本替换为Notepad3,并且如何还原。

## 编辑注册表实现用任意程序替换记事本

将压缩包解压放在自己喜欢的位置,比如我的是`E:greensoftotepad3`,然后进入目录,选择`notepad3.exe`,按住Shift,右键,选择`复制为路径`

4897bd485f53e15580109a5cd9936405.png

Shift+右键有很多小彩蛋哦,快试试

`Win+R`打开运行,输入`regedit`(一般会简写成运行`regedit`),打开注册表编辑器,如果弹窗提示进行更改(UAC),点击"是"。#

1351c0a0e00716cd36a26e327c231262.png

Win+R --> regedit

在左边找到`HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options`,`右键`-->`新建`-->`项`。

77b99bc072ab03ee73a20001cd631861.png

位置在红框这里

新建项的名字输入`notepad.exe`,然后在`notepad.exe`上面右键点击,选择`新建`-->`字符串值`,输入`Debugger`,然后双击`Debugger`,输入Debugger字符串的值(前面的右键-->`复制为路径`,在后面加空格 `/z`):`"E:greensoftotepad3Notepad3.exe" /z`。

57a073a1a70f8bebc3fd675e667b3609.png

字符串与它的值

然后,就替换完成啦,运行`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

window10 右键菜单 用记事本打开

路由器不好的客官可以通过了解更多以了解更多。

码字也挺花时间的。客官要是觉得有用,欢迎收藏备用,关注我,我们一起学编程。

#技术干货# #我要上头条# #我要涨粉# #我要分享# #玩着学编程#

56451824320

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值