Notepad3 下载地址
Notepad3
只需要将这个批处理保存到 Notepad3 的同一个文件夹下运行即可
把文件保存为 记事本替换工具.bat ,文件保存的字符集为 GBK,或者 GB2312都行
@echo off
setlocal EnableDelayedExpansion
:: 检查管理员权限
net session >nul 2>&1
if %errorlevel% neq 0 (
echo 请以管理员身份运行此脚本!
pause
exit /b 1
)
:: 初始化路径
set "ScriptDir=%~dp0"
set "Notepad3Path=%ScriptDir%Notepad3.exe"
set "SystemNotepad=%SystemRoot%\System32\notepad.exe"
set "BackupNotepad=%SystemRoot%\System32\notepad_original.exe"
:: 主菜单
:menu
cls
echo ==============================
echo 记事本替换工具 (即时生效版)
echo ==============================
(echo 1. 替换记事本为 Notepad3
echo 2. 还原系统默认记事本
echo 3. 退出
echo ==============================)
set /p choice=请输入选项 (1-3):
if "%choice%"=="1" goto replace
if "%choice%"=="2" goto restore
if "%choice%"=="3" exit /b 0
echo 无效选项,请重新输入!
pause
goto menu
:replace
:: 检查Notepad3是否存在
if not exist "%Notepad3Path%" (
echo 错误:Notepad3.exe 未在当前目录找到!
pause
goto menu
)
:: 结束notepad进程
tasklist | find /i "notepad.exe" >nul && (
taskkill /f /im notepad.exe >nul 2>&1
if %errorlevel% neq 0 (
echo 警告:无法结束进程,请手动关闭记事本!
pause
)
)
:: 备份原始文件(仅首次)
if exist "%SystemNotepad%" (
if not exist "%BackupNotepad%" (
echo 正在备份原始记事本...
copy /y "%SystemNotepad%" "%BackupNotepad%" >nul || (
echo 备份失败!错误代码: %errorlevel%
pause
goto menu
)
)
)
:: 获取所有权及权限
takeown /f "%SystemNotepad%" >nul
icacls "%SystemNotepad%" /grant "%username%:F" >nul
if %errorlevel% neq 0 (
echo 权限获取失败!请检查管理员权限。
pause
goto menu
)
:: 文件替换
copy /y "%Notepad3Path%" "%SystemNotepad%" >nul
if %errorlevel% neq 0 (
echo 文件替换失败!可能被系统保护锁定。
echo 若为Windows 11,请先卸载新版记事本:
echo winget uninstall "Windows Notepad"
pause
goto menu
)
:: 注册表修改
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /t REG_SZ /d "\"%Notepad3Path%\" -z" /f >nul
assoc .txt=txtfile >nul
ftype txtfile="%Notepad3Path%" "%%1" >nul
:: 刷新系统设置使其立即生效
echo 正在刷新系统设置...
reg add "HKCU\Software\Microsoft\Windows\Shell\Associations" /v "UserChoiceIcons" /t REG_SZ /d "1" /f >nul
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\UserChoice" /f >nul 2>&1
taskkill /f /im explorer.exe >nul 2>&1
start "" "explorer.exe"
echo 替换成功!已立即生效。
pause
goto menu
:restore
:: 检查备份文件
if not exist "%BackupNotepad%" (
echo 错误:未找到备份文件 %BackupNotepad%
echo 请手动从系统安装介质恢复 notepad.exe
pause
goto menu
)
:: 结束进程并获取权限
taskkill /f /im notepad.exe >nul 2>&1
takeown /f "%SystemNotepad%" >nul
icacls "%SystemNotepad%" /grant "%username%:F" >nul
:: 还原文件
copy /y "%BackupNotepad%" "%SystemNotepad%" >nul
if %errorlevel% neq 0 (
echo 文件还原失败!错误代码: %errorlevel%
pause
goto menu
)
:: 归还系统权限
icacls "%SystemNotepad%" /setowner "NT SERVICE\TrustedInstaller" >nul 2>&1
icacls "%SystemNotepad%" /grant:r "NT SERVICE\TrustedInstaller:F" >nul
:: 清理注册表
reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /f >nul 2>&1
:: 重置文件关联
assoc .txt=txtfile >nul
ftype txtfile="%SystemRoot%\System32\notepad.exe" "%%1" >nul
:: 刷新系统设置使其立即生效
echo 正在刷新系统设置...
reg add "HKCU\Software\Microsoft\Windows\Shell\Associations" /v "UserChoiceIcons" /t REG_SZ /d "1" /f >nul
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\UserChoice" /f >nul 2>&1
taskkill /f /im explorer.exe >nul 2>&1
start "" "explorer.exe"
echo 还原完成!已立即生效。
echo 注意:Windows 11用户可能需要从商店重新安装记事本
pause
goto menu
运行效果如下
