秒開較大文件的windows記事本開源替代-Notepad3

[本文知識點:1,使用批處理拿到Administrator管理員權限 2,使用批處理修改註冊表 3,手動修改註冊表]

你的記事本打開比較大的文件的時候會不會這樣?

秒開較大文件的windows記事本開源替代-Notepad3

自帶的notepad打開較大文件會經常卡死

心靈脆弱的我,經常會因為這個原因覺得心情什麼沮喪。很多時候都會想著如何記事本更加好用一點。

那麼今天,它來了,功能與速度的完美結合,造就了它看起來就很吊的絕佳氣質,別問落地價,因為開源無價!

先看看替換之後的記事本是如何打開一個比較大的文件的↓

秒開較大文件的windows記事本開源替代-Notepad3

替換為Notepad3之後,打開一個20M左右的文本文件,大概花7秒時間

花了大約有7秒時間的樣子,比起來原生記事本的直接卡到提示關閉,要好太多了。#

關於具體哪個文本編輯器更好用的話,我就不多說了,自己喜歡就好。#

我下載的Notepad3 5.19.815.2595 便攜版本的,安裝版本的會自動將系統記事本給替換掉,客官可以自行選擇。

秒開較大文件的windows記事本開源替代-Notepad3

Notepad3的官網介紹


Notepad3,能支持挺多文件類型的語法高亮,能直接通過系統設置的方式運行當前文件(批處理、vbs等非常方便),可以追加剪貼板中的內容到當前文件,可以用來顯示動態的日誌,還可以透明顯示,能最小化到狀態欄,能置頂顯示在屏幕最頂層,支持正則表達式,還能快速搜索選定的字詞。總體而言簡單快速,是頂替記事本日常查看文本文件的不錯選擇。

Notepad3壓縮包搬運

接下來的篇幅,就來說說如何自己手動,來實現通過註冊表將系統自帶的記事本替換為Notepad3,並且如何還原。

## 編輯註冊表實現用任意程序替換記事本

將壓縮包解壓放在自己喜歡的位置,比如我的是`E:\\greensoft\\notepad3`,然後進入目錄,選擇`notepad3.exe`,按住Shift,右鍵,選擇`複製為路徑`

秒開較大文件的windows記事本開源替代-Notepad3

Shift+右鍵有很多小彩蛋哦,快試試

`Win+R`打開運行,輸入`regedit`(一般會簡寫成運行`regedit`),打開註冊表編輯器,如果彈窗提示進行更改(UAC),點擊"是"。#

秒開較大文件的windows記事本開源替代-Notepad3

Win+R --> regedit

在左邊找到`HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options`,`右鍵`-->`新建`-->`項`。


秒開較大文件的windows記事本開源替代-Notepad3

位置在紅框這裡

新建項的名字輸入`notepad.exe`,然後在`notepad.exe`上面右鍵點擊,選擇`新建`-->`字符串值`,輸入`Debugger`,然後雙擊`Debugger`,輸入Debugger字符串的值(前面的右鍵-->`複製為路徑`,在後面加空格 `/z`):`"E:\\greensoft\\notepad3\\Notepad3.exe" /z`。


秒開較大文件的windows記事本開源替代-Notepad3

字符串與它的值

然後,就替換完成啦,運行`notepad`應該會打開`notepad3`。然而,總不能讓客官們每次都這麼來一回吧,誰記得到這麼麻煩的步驟呢。接下來看看用批處理如何完成註冊表的修改。

## 使用批處理修改註冊表的方法

將以下的代碼保存為`替換與還原系統記事本.bat`,與`Notepad3.exe`放在一起(`E:\\greensoft\\notepad3`):

```

<code>01  @echo off
02 cls
03 :init
04 setlocal DisableDelayedExpansion
05 set "batchPath=%~0"
06 for %%k in (%0) do set batchName=%%~nk
07 set "vbsGetPrivileges=%temp%\\\\xbc_%batchName%.vbs"
08 setlocal EnableDelayedExpansion
09 :checkPrivileges
10 net FILE 1>nul 2>nul
11 if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
12 :getPrivileges
13 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%\\System32\\WScript.exe" "%vbsGetPrivileges%" %*
23 exit /B
24 :gotPrivileges
25 setlocal & pushd .
26 cd /d %~dp0
27 if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)
28 setlocal enabledelayedexpansion
29 echo.
30 echo. ------------------------------
31 echo. Notepad3輔助工具
32 echo. by_學邊成 wx@xbc19666
33 echo. ------------------------------
34 echo. 輸入1替換記事本
35 echo. 輸入0還原記事本
36 echo. 輸入3加入右鍵菜單

37 echo. 輸入4刪除右鍵菜單
38 set /p "it=· > "
39
40 if "!it!"=="1" (
41 \tcd /d "%~dp0"
42 \treg add "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\notepad.exe" /v "Debugger" /d "\"%~dp0Notepad3.exe\" /z" /f > nul
43 \techo. 祝客官生活愉快!
44 \tgoto footer
45 )
46 if "!it!"=="0" (
47 \treg delete "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\notepad.exe" /f > nul
48 \techo. 願客官的生活總是好運相伴!
49 \tgoto footer
50 )
51 if "!it!"=="3" (
52 \treg add "HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\*\\shell\\notepad" /ve /d "用記事本打開" /f > nul
53 \treg add "HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\*\\shell\\notepad\\command" /ve /d "notepad %%1" /f > nul
54 \techo. 微笑一下,給自己加油打氣。
55 \tgoto footer
56 )
57 if "!it!"=="4" (
58 \treg delete "HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\*\\shell\\notepad" /f > nul
59 \techo. 請相信,你的身邊總有小美好。
60 \tgoto footer
61 )
62 echo. 哦嚯~~哦~
63 :footer
64 echo. 按空格鍵退出...
65 pause>nul/<code>

```

代碼中1-25行,功能為取得管理員權限來運行當前腳本。原理是輸入一個vbs腳本,再調用這個vbs腳本,而這個vbs腳本本身會以UAC方式調用剛才的批處理腳本。

42行,`reg add`命令,用來往註冊表中新增`項和值`,`/v`表示`所選項之下要添加的值名`,`/d`表示 `要分配給添加的註冊表 ValueName 的數據`。

40行,if判斷語句,`()`中間的語句是判斷正確的時候要執行的語句。

以後,只要雙擊運行`替換與還原系統記事本.bat`,就可以隨時替換或者還原系統自帶的記事本了。


秒開較大文件的windows記事本開源替代-Notepad3

window10 右鍵菜單 用記事本打開


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

碼字也挺花時間的。客官要是覺得有用,歡迎收藏備用,關注我,我們一起學編程。

56451824320


分享到:


相關文章: