|
本帖最后由 wjgyz740526 于 2023-7-28 17:08 编辑
如题,准备在win11PE上添加右键显示隐藏系统文件,发现不是简单地复制文件添加注册表就有用,这个需要WScript支持,要有WScript.exe才行,很多pe是精简掉这个功能的,又试了下右键管理软件,发现有的软件能够生效,查看注册表,它的右键类似这样:"%ProgramFiles%\Easy Context Menu\EcMenu.exe" /HideFileExt
这个有点不爽,我只要有个右键,难不成还要单独弄个软件?
折腾了下,弄了个cmd版本的(非常感谢Bluebells提供的刷新代码,否则无法实现),另外,Bluebells在25楼有PECMD 版本的,看各位喜好吧
- @echo off
- for /f "tokens=1,2,* " %%i in ('reg query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt') do if %%k==0x1 (set x=0&set y=显示)else set x=1&set y=隐藏
- reg add "HKCR\Directory\Background\shell\InitPropertyBag" /v MUIVerb /t REG_SZ /d "%y%系统文件和扩展名" /f>nul
- reg add "HKCR\Directory\Background\shell\InitPropertyBag\Command" /t REG_SZ /d "PECMD.EXE EXEC -hide %%windir%%\system32\superhidden.cmd" /f>nul
- echo @echo off >%windir%\system32\superhidden.cmd
- echo setlocal EnableDelayedExpansion >>%windir%\system32\superhidden.cmd
- echo for /f "tokens=1,2,* " %%%%i in (^'reg query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt^') do if %%%%k equ 1 (set x=0^&set y=隐藏)else set x=1^&set y=显示 >>%windir%\system32\superhidden.cmd
- echo if %%x%% equ 0 ( >>%windir%\system32\superhidden.cmd
- echo reg add "HKLM\SOFTWARE\Classes\Directory\background\shell\InitPropertyBag" /v "MUIVerb" /d "显示系统文件和扩展名" /f >>%windir%\system32\superhidden.cmd
- echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "hidden" /t REG_DWORD /d 0 /f >>%windir%\system32\superhidden.cmd
- echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f >>%windir%\system32\superhidden.cmd
- echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowSuperHidden" /t REG_DWORD /d 1 /f >>%windir%\system32\superhidden.cmd
- echo start PECMD.EXE ENVI @@POSTMSG=65535;273;41504;Null >>%windir%\system32\superhidden.cmd
- echo ) else ( >>%windir%\system32\superhidden.cmd
- echo reg add "HKLM\SOFTWARE\Classes\Directory\background\shell\InitPropertyBag" /v "MUIVerb" /t REG_DWORD /d "隐藏系统文件和扩展名" /f >>%windir%\system32\superhidden.cmd
- echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "hidden" /t REG_DWORD /d 1 /f >>%windir%\system32\superhidden.cmd
- echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 1 /f >>%windir%\system32\superhidden.cmd
- echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowSuperHidden" /t REG_DWORD /d 0 /f >>%windir%\system32\superhidden.cmd
- echo start PECMD.EXE ENVI @@POSTMSG=65535;273;41504;Null >>%windir%\system32\superhidden.cmd
- echo ) >>%windir%\system32\superhidden.cmd
- echo exit >>%windir%\system32\superhidden.cmd
- pause&exit
复制代码 把这个脚本保存在pe的windows目录,pecmd.ini加一句:exec -hide x:\windows\显示隐藏.cmd
如果右键菜单不变化,删掉
echo reg add "HKLM\SOFTWARE\Classes\Directory\background\shell\InitPropertyBag" /v "MUIVerb" /d "显示系统文件和扩展名" /f >>%windir%\system32\superhidden.cmd
echo reg add "HKLM\SOFTWARE\Classes\Directory\background\shell\InitPropertyBag" /v "MUIVerb" /t REG_DWORD /d "隐藏系统文件和扩展名" /f >>%windir%\system32\superhidden.cmd
这两句——注册表权限问题导致不能实时修改
|
|