@echo off
:: 一般情况下,右键"新建"菜单项目对应于注册表"HKEY_CLASSERS_ROORT/.后缀名"
:: 项目下的"ShellNew"键。如果常规模式下删除不了,则把"HKEY_CLASSERS_ROORT/.后缀名"
:: 删除掉即可(注意,可能会有后遗症)。
mode con lines=25
color 1f
:Main
cls
title "新建"菜单项目删除器-删除模式
echo.&echo.&echo.
echo 本程序能删除右键菜单中"新建"项目下的多余内容,为"新建"菜单减肥!
echo.
echo 如果想让某种类型的文件不再出现在鼠标右键的"新建"菜单中,请直接
echo.
echo 输入该文件类型的后缀名。例如:rar。默认使用常规删除模式。
echo.
echo 如果常规删除不起作用,请使用强行删除模式,比如在对付 MS Office
echo.
echo 系列软件在"新建"菜单中的项目的时候。不过,此方式可能会产生后遗症。
echo.
echo 注意:需要点开"新建"菜单两次才能看到删除后的变化!
echo.&echo.
echo 退出请选 0 使用强行删除模式请在最前面添加 1 恢复菜单项目请按 2
echo.&echo.
echo 请输入后缀名(多个后缀名用空格分开):
echo.
set input=
set /p input=
if not defined input goto Main
set "input=%input:"=%"
if "%input%"=="0" exit
set ShellNew=ShellNew
if "%input:~0,1%"=="1" (
set ShellNew=
set "input=%input:~1%"
)
if "%input%"=="2" goto Repair
md RegBackup 2>nul
for %%i in (%input%) do (
reg export HKCR/.%%i/%ShellNew% RegBackup/_%%i.reg>nul 2>nul
if exist RegBackup/_%%i.reg (
more RegBackup/_%%i.reg>RegBackup/%%i.reg
echo ; 这是鼠标右键"新建"菜单项目 .%%i 类型的注册表信息,可作恢复之用>>RegBackup/%%i.reg
del /a /f RegBackup/_%%i.reg>nul 2>nul
reg delete HKCR/.%%i/%ShellNew% /f >nul 2>nul
) else (echo.&echo %%i 类型没有可供删除的"新建"项目)
)
rd RegBackup 2>nul
echo.&set /p= 按任意键返回...
goto Main
:Repair
cls
title "新建"菜单项目删除器-恢复模式
echo.&echo.&echo.
echo 本模块只能恢复由本程序删除的右键"新建"菜单项目!
echo.
echo 如果想让某种类型的文件重新出现在鼠标右键的"新建"
echo.
echo 菜单中,请直接输入该文件类型的后缀名。例如:rar。
echo.
echo 注意:需要点开"新建"菜单两次才能看到恢复后的变化!
echo.&echo.
echo 退出请选 0 返回删除界面请按 1
echo.&echo.
echo 请输入后缀名(多个后缀名用空格分开):
echo.
set input=
set /p input=
if not defined input goto Repair
set "input=%input:"=%"
if "%input%"=="0" exit
if "%input%"=="1" goto Main
if not exist RegBackup (
echo.&echo 没有可恢复的项目,恢复失败!按任意键返回...
pause>nul&goto Main
)
for %%i in (%input%) do (
reg import RegBackup/%%i.reg>nul 2>nul||(
echo.&echo .%%i 类型恢复失败
)
)
echo.&set /p= 按任意键返回...
goto Repair
-----------------------------------------------------------------------------------------------------------------------------
将以上代码复制到记事本中,另存为.bat文件