手动修改注册表太慢太麻烦所以就衍生除了此脚本
- 新建一个 .txt 格式的文本文件复制如下代码
- 然后另存为名称:“ Win11、10 快捷方式角标箭头隐藏与恢复.bat ”(注意后缀改为 .bat)
- 右键以管理员身份打开运行按需选择即可
- 注意:若打开闪退大概是文件保存是的编码问题仔细阅读保存前脚本中的提示1
echo off&title Win11快捷方式箭头 ~by 阿牛%date%_%time% &color a&mode con cols=60 lines=20&@chcp>nul 936
REM 提示1: 需要将该文件的编码格式改为ANSI
REM 提示2: 文件路径可能需要绝对路径
REM chcp 936 是中文活动代码页
REM chcp 65001 是英文活动代码页
:menu
cls&::title "Win11 恢复快捷方式箭头" Beta By __anig__ 当前:%date%&color b&mode con cols=82 lines=39
Call :By
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Call :Xecho "0c.: ┍------------------本地 IPv4 地址:-----------------┑"& ipconfig | findstr "IPv4"
Call :Xecho "0c.: └---------------------------------------------------┘"
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Call :Xecho "2f.: ================请选择================"
Call :Xecho "0b.: 【1】桌面快捷方式的角标隐藏 "
Call :Xecho "0b.: 【2】桌面快捷方式的角标恢复 "
Call :Xecho "2f.: ================请输入================"
set /p a=输入【】内字符后回车:
If "%a%"=="1" goto create1
If "%a%"=="2" goto create2
echo.&Call :Xecho "4f.: 输入无效,请重新输入 。"
pause >nul&goto menu
:create1
title 隐藏桌面快捷方式的角标的脚本:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons" /v 29 /d "%systemroot%\system32\imageres.dll,197" /t reg_sz /f
taskkill /f /im explorer.exe
start explorer
Call :Xecho "0e.:命令执行完成! 桌面快捷方式的角标隐藏……"&pause>nul&goto menu
:create2
title 恢复桌面快捷方式的角标的脚本:
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons" /v 29 /f
taskkill /f /im explorer.exe
start explorer
Call :Xecho "0e.:命令执行完成! 桌面快捷方式的角标恢复……"&pause>nul&goto menu
:Close
REM 结语
Call :Xecho "0e.: 敲击任意键直接退出……"&pause>nul
REM 自动退出 exit
REM 停顿显示默认返回交互 pause
REM 停顿显示上一句返回交互 pause>nul
:By
echo.
Call :Xecho "08.: ┍---------------------------┑"
Call :Xecho "08.: By Niu Chunhua"
Call :Xecho "08.: Last updated:Oct 26 2024"
Call :Xecho "08.: └---------------------------┘"
echo.
:end
:Xecho :: 显示彩色文字 (不支持英文下的半角字符 \ / : * ? " < > | . % ! ~)
setlocal enabledelayedexpansion
Set echox=EchoX.exe&&!echox! 1>nul 2>nul||Set echox=
for %%a in (%*) do (
Set "param=%%a"&Set "param=!param:"=!"
Set n=0&(if "!param:~2,2!" == "::" Set /a n+=1)&(if "!param:~2,2!" == ".:" Set /a n+=1)
if !n! gtr 0 (
if /i "!param:~0,2!" == "xx" (Set /p="_!param:~4!"<nul) else (Set param=%%~nxa&if defined echox (!echox! -c !param:~0,2! -n "!param:~4!") else (Pushd "%TEMP%"&>"!param:~4!",Set /p= <nul&findstr /a:!param:~0,2! .* "!param:~4!*"&del "!param:~4!"&Popd))
if "!param:~2,1!" == "." echo.
) else if defined param Set /p="_!param!"<nul
)