无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 1667|回复: 30
打印 上一主题 下一主题

[已解决] 脱离WScript添加右键显示隐藏文件扩展名,附cmd和pecmd代码

  [复制链接]
跳转到指定楼层
1#
发表于 2023-7-26 09:18:18 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wjgyz740526 于 2023-7-28 17:08 编辑

如题,准备在win11PE上添加右键显示隐藏系统文件,发现不是简单地复制文件添加注册表就有用,这个需要WScript支持,要有WScript.exe才行,很多pe是精简掉这个功能的,又试了下右键管理软件,发现有的软件能够生效,查看注册表,它的右键类似这样:"%ProgramFiles%\Easy Context Menu\EcMenu.exe" /HideFileExt
这个有点不爽,我只要有个右键,难不成还要单独弄个软件?

折腾了下,弄了个cmd版本的(非常感谢Bluebells提供的刷新代码,否则无法实现),另外,Bluebells在25楼有PECMD 版本的,看各位喜好吧
  1. @echo off

  2. 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=隐藏

  3. reg add "HKCR\Directory\Background\shell\InitPropertyBag" /v MUIVerb /t REG_SZ /d "%y%系统文件和扩展名" /f>nul
  4. reg add "HKCR\Directory\Background\shell\InitPropertyBag\Command" /t REG_SZ /d "PECMD.EXE EXEC -hide %%windir%%\system32\superhidden.cmd" /f>nul

  5. echo @echo off >%windir%\system32\superhidden.cmd
  6. echo setlocal EnableDelayedExpansion >>%windir%\system32\superhidden.cmd
  7. 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
  8. echo if %%x%% equ 0 ( >>%windir%\system32\superhidden.cmd
  9. echo reg add "HKLM\SOFTWARE\Classes\Directory\background\shell\InitPropertyBag" /v "MUIVerb" /d "显示系统文件和扩展名" /f >>%windir%\system32\superhidden.cmd
  10. echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "hidden" /t REG_DWORD /d 0 /f >>%windir%\system32\superhidden.cmd
  11. echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f >>%windir%\system32\superhidden.cmd
  12. echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowSuperHidden" /t REG_DWORD /d 1 /f >>%windir%\system32\superhidden.cmd
  13. echo start PECMD.EXE ENVI @@POSTMSG=65535;273;41504;Null >>%windir%\system32\superhidden.cmd
  14. echo ) else ( >>%windir%\system32\superhidden.cmd
  15. echo reg add "HKLM\SOFTWARE\Classes\Directory\background\shell\InitPropertyBag" /v "MUIVerb" /t REG_DWORD /d "隐藏系统文件和扩展名" /f >>%windir%\system32\superhidden.cmd
  16. echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "hidden" /t REG_DWORD /d 1 /f >>%windir%\system32\superhidden.cmd
  17. echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 1 /f >>%windir%\system32\superhidden.cmd
  18. echo reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowSuperHidden" /t REG_DWORD /d 0 /f >>%windir%\system32\superhidden.cmd
  19. echo start PECMD.EXE ENVI @@POSTMSG=65535;273;41504;Null >>%windir%\system32\superhidden.cmd
  20. echo ) >>%windir%\system32\superhidden.cmd
  21. echo exit >>%windir%\system32\superhidden.cmd

  22. 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
这两句——注册表权限问题导致不能实时修改
2#
 楼主| 发表于 2023-7-26 09:42:48 | 显示全部楼层
我怕还要WScript.exe的支持文件和注册表,那就臃肿了
回复

使用道具 举报

3#
 楼主| 发表于 2023-7-26 10:29:35 | 显示全部楼层
2011wyy 发表于 2023-7-26 09:53
很多 PE 默认是显示隐藏的系统文件,楼主为何还要再要右键菜单呢?

我这个没有啊,要不怎么多这个事
回复

使用道具 举报

4#
 楼主| 发表于 2023-7-26 13:13:11 来自手机 | 显示全部楼层
Bluebells 发表于 2023-7-26 11:28
这不是注册表数据就可以完成的事?

卧槽,没想到pecmd

谢谢
回复

使用道具 举报

5#
 楼主| 发表于 2023-7-26 16:34:29 | 显示全部楼层
Bluebells 发表于 2023-7-26 11:28
这不是注册表数据就可以完成的事?

看了下, 还要修改, 不能自动刷新,还要加上显示隐藏后缀名

谢谢你的思路

点评

改进了一下刷新问题, 你自己测试一下 关于"隐藏已知文件类型的扩展名", 其注册表位置为: [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] "HideFileExt"=dword:00000001 PS:  详情 回复 发表于 2023-7-26 16:50
回复

使用道具 举报

6#
 楼主| 发表于 2023-7-26 17:03:33 来自手机 | 显示全部楼层
谢谢,正在折腾
回复

使用道具 举报

7#
 楼主| 发表于 2023-7-26 17:06:11 来自手机 | 显示全部楼层
Bluebells 发表于 2023-7-26 16:50
改进了一下刷新问题, 你自己测试一下(改进的代码还在原来楼层)
关于"隐藏已知文件类型的扩展名", 其注册 ...

我现在想,既然pecmd可以实现,那就写到批处理调用,这样右键菜单可以合并到一个,调用批处理就可以了
回复

使用道具 举报

8#
 楼主| 发表于 2023-7-26 17:14:10 | 显示全部楼层
Bluebells 发表于 2023-7-26 16:50
改进了一下刷新问题, 你自己测试一下(改进的代码还在原来楼层)
关于"隐藏已知文件类型的扩展名", 其注册 ...

还是无法自动刷新

点评

这种刷新不能刷新当前打开的窗口的页面,切换一下就可以看到效果。如果你不介意重启 Explorer,那就直接 kill explorer.exe  详情 回复 发表于 2023-7-26 17:18
回复

使用道具 举报

9#
 楼主| 发表于 2023-7-26 17:31:38 | 显示全部楼层
2011wyy 发表于 2023-7-26 17:23
支持折腾

刷新是个头疼的事情

这样太麻烦了
回复

使用道具 举报

10#
 楼主| 发表于 2023-7-26 17:33:52 | 显示全部楼层
Bluebells 发表于 2023-7-26 17:18
这种刷新不能刷新当前打开的窗口的页面,切换一下就可以看到效果。如果你不介意重启 Explorer,那就直接  ...

如果能用pecmd获取到当前打开的文件夹路径就好办了,现kill掉explorer进程,然后打开这个路径

点评

又改进了一下代码, 再试试看  详情 回复 发表于 2023-7-26 18:12
回复

使用道具 举报

11#
 楼主| 发表于 2023-7-26 18:15:34 | 显示全部楼层
Bluebells 发表于 2023-7-26 18:12
又改进了一下代码, 再试试看

看到有刷新的动作了,但是估计注册表部分有问题,该隐藏的没隐藏,该显示的没显示

点评

你自己不会举一反三,这个显示/隐藏的对象是系统(system)属性的文件,不是隐藏(hidden)属性的文件  详情 回复 发表于 2023-7-26 18:21
回复

使用道具 举报

12#
 楼主| 发表于 2023-7-26 21:11:30 来自手机 | 显示全部楼层
Bluebells 发表于 2023-7-26 18:21
你自己不会举一反三,这个显示/隐藏的对象是系统(system)属性的文件,不是隐藏(hidden)属性的文件

那时候下班了,没注意注册表对应的是什么

点评

给个 PECMD 脚本你试试 将上述内容保存为 ShowHideFiles.wcs (也可以命名为其它名称, 包括扩展名) 文件, 然后用 PECMD 的 LOAD 命令加载: PECMD LOAD /RDS /RFS PS: 参数"/RDS"表示注册桌面背景右键上下文菜单,  详情 回复 发表于 2023-7-26 21:42
回复

使用道具 举报

13#
 楼主| 发表于 2023-7-27 08:21:02 | 显示全部楼层
Bluebells 发表于 2023-7-26 21:42
给个 PECMD 脚本你试试
将上述内容保存到 D:\ShowHideFiles.wcs (也可以命名为其它名称, 包括扩展名) 文 ...

厉害!!!!!!!
回复

使用道具 举报

14#
 楼主| 发表于 2023-7-27 08:35:19 | 显示全部楼层
本帖最后由 wjgyz740526 于 2023-7-27 08:40 编辑
Bluebells 发表于 2023-7-26 21:42
给个 PECMD 脚本你试试
将上述内容保存到 D:\ShowHideFiles.wcs (也可以命名为其它名称, 包括扩展名) 文 ...

测试成功!
谢谢你
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-12 09:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表