一键切换Win11的右键菜单显示方式和开始菜单显示位置的批处理代码

Win11开始菜单显示位置设置V1批处理代码:

@echo off&setlocal enabledelayedexpansion&(cd /d "%~dp0")&(reg query "HKU\S-1-5-19">nul 2>&1)||(powershell -Command "Start-Process '%~snx0' -Verb RunAs"&&exit)
if "%~1"==":recursive" goto main
start "" /min cmd /c "%~f0" :recursive %*
exit /b
:main
title 请选择…
echo 请选择…
reg query "HKCU\Software\Classes\CLSID{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /v InprocServer32 >nul 2>nul
mshta vbscript:CreateObject("Scripting.FileSystemObject").GetStandardStream(1).WriteLine(msgbox("是否将Win11开始菜单改为靠左显示方式",4,"Win11开始菜单显示位置设置"))(window.close)|>nul find "7"&&(goto :no)||(goto :yes)
goto :end
:yes
powershell -command "$key='HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects3'; $val=Get-ItemProperty -Path $key -Name Settings -ErrorAction SilentlyContinue; if($val){$bytes=$val.Settings; if($bytes.Length -ge 5){$bytes[4]=0x00; Set-ItemProperty -Path $key -Name Settings -Value $bytes}}">nul 2>&1
mshta vbscript:CreateObject("Wscript.Shell").popup("已将Win11开始菜单改为靠左显示",10,"设置成功",64)(window.close)
goto :end
:no
powershell -command "$key='HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects3'; $val=Get-ItemProperty -Path $key -Name Settings -ErrorAction SilentlyContinue; if($val){$bytes=$val.Settings; if($bytes.Length -ge 5){$bytes[4]=0x01; Set-ItemProperty -Path $key -Name Settings -Value $bytes}}">nul 2>&1
mshta vbscript:CreateObject("Wscript.Shell").popup("已将Win11开始菜单还原为居中显示",10,"设置成功",64)(window.close)
goto :end
:end
taskkill /f /im explorer.exe >nul 2>&1
start explorer.exe
exit

Win11右键菜单显示方式设置V1批处理代码:

@echo off&setlocal enabledelayedexpansion&(cd /d "%~dp0")&(reg query "HKU\S-1-5-19">nul 2>&1)||(powershell -Command "Start-Process '%~snx0' -Verb RunAs"&&exit)
if "%~1"==":recursive" goto main
start "" /min cmd /c "%~f0" :recursive %*
exit /b
:main
title 请选择…
echo 请选择…
reg query "HKCU\Software\Classes\CLSID{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /v InprocServer32 >nul 2>nul
mshta vbscript:CreateObject("Scripting.FileSystemObject").GetStandardStream(1).WriteLine(msgbox("是否更改Win11右键菜单的显示方式",4,"Win11右键菜单显示方式设置"))(window.close)|>nul find "7"&&(goto :no)||(goto :yes)
goto :end
:yes
reg add "HKCU\Software\Classes\CLSID{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve >nul 2>&1
mshta vbscript:CreateObject("Wscript.Shell").popup("已改为Win10右键菜单显示方式",10,"设置成功",64)(window.close)
goto :end
:no
reg delete "HKCU\Software\Classes\CLSID{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f >nul 2>&1
mshta vbscript:CreateObject("Wscript.Shell").popup("已恢复Win11原来的右键菜单显示方式",10,"设置成功",64)(window.close)
goto :end
:end
taskkill /f /im explorer.exe >nul 2>&1
start explorer.exe
exit

请注意,此命令会重启explorer进程,运行前记得先保存好桌面未保存的内容再执行。

posted @ 2026-08-08 10:49  zybgwx  阅读(2)  评论(0)    收藏  举报