找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: 766266yyn

[注册表类] (已解决)求助:哪位大师把这段改写为 cmd 代码,谢谢

[复制链接]
 楼主| 发表于 2026-4-11 04:31:27 | 显示全部楼层
jiavip 发表于 2026-4-10 23:28
第5行和第9行互换一下,,,

第5行和第9行互换一下,,,不行,互换后信息提示对了,但右键菜单中的 “显示 ... "/"隐藏 ... " 又反了。
 楼主| 发表于 2026-4-11 06:03:25 | 显示全部楼层
aloha20200628 发表于 2026-4-10 22:07
简化了8楼代码,增加显示完成信息+暂停5秒继续...

谢谢老师,这个没问题。
 楼主| 发表于 2026-4-11 06:07:16 | 显示全部楼层
77七 发表于 2026-4-10 21:13
关键命令只有HideFolder.cmd、ShowFolder.cmd中的两行,我试着写了一下。

感谢老师,您这个是另外一个思路,非常成功,把多个命令整到一句,这个命令太长了,我看看都眼晕。
 楼主| 发表于 2026-4-11 06:13:03 | 显示全部楼层
非常感谢各位老师的辛苦帮助和指导,我把10楼 J大的代码摸索着改动了一下,可以满足了要求,还请老师们看看有没有错误或修改

  1. @Echo off
  2. Reg query "HKCR\Directory\background\shell\FolderView" /v "MuiVerb"|Find "隐藏" >Nul  && Goto yes || Goto no
  3. :yes
  4. Set "a=显示系统文件夹"
  5. Set "b=HideFolder.cmd"
  6. Set "icon=X:\Windows\Custom\FolderView\IcoFolder\ShowFolder.ico"
  7. Goto run
  8. :no
  9. Set "a=隐藏系统文件夹"
  10. Set "b=ShowFolder.cmd"
  11. Set "icon=X:\Windows\Custom\FolderView\IcoFolder\HideFolder.ico"
  12. :run
  13. Reg add "HKCR\Directory\background\shell\FolderView" /f /v "MuiVerb" /t REG_SZ /d "%a%"
  14. Reg add "HKCR\folder\Shell\FolderView" /f /v "MuiVerb" /t REG_SZ /d "%a%"
  15. Reg add "HKCR\Directory\background\shell\FolderView" /f /v "Icon" /t REG_SZ /d "%icon%"
  16. Reg add "HKCR\folder\Shell\FolderView" /f /v "Icon" /t REG_SZ /d "%icon%"
  17. Cls
  18. pecmd.exe EXEC !"X:\Windows\Custom\FolderView\%b%"
  19. If %a%==显示系统文件夹 (
  20.    pecmd.exe MESS 已隐藏系统文件夹 @已隐藏系统文件夹 *2000
  21.    ) else (
  22.       pecmd.exe MESS 已显示系统文件夹 @已显示系统文件夹 *2000
  23.           )
  24. pecmd.exe KILL explorer.exe
  25. Exit
复制代码
发表于 2026-4-11 11:35:02 来自手机 | 显示全部楼层
766266yyn 发表于 2026-4-11 06:13
非常感谢各位老师的辛苦帮助和指导,我把10楼 J大的代码摸索着改动了一下,可以满足了要求,还请老师们看看 ...

其实不用改得那么复杂,在a和b的变量下增加一个c变量(加两个,加在b变量之后),内容刚好和a变量相反。
然后把对话框的%a%,替换成%c%,,
这样修改你就可以在c变量里写下你想要的对话框提示,就可以了。
 楼主| 发表于 2026-4-11 11:45:35 | 显示全部楼层
jiavip 发表于 2026-4-11 11:35
其实不用改得那么复杂,在a和b的变量下增加一个c变量(加两个,加在b变量之后),内容刚好和a变量相反。
然 ...

不懂,真不懂
发表于 2026-4-11 12:58:31 | 显示全部楼层
766266yyn 发表于 2026-4-11 06:13
非常感谢各位老师的辛苦帮助和指导,我把10楼 J大的代码摸索着改动了一下,可以满足了要求,还请老师们看看 ...

关键的命令隐藏在调用的bat中,多数代码行就在写一个没有作用的右键菜单...是不是本末倒置了
 楼主| 发表于 2026-4-11 13:41:24 | 显示全部楼层
77七 发表于 2026-4-11 12:58
关键的命令隐藏在调用的bat中,多数代码行就在写一个没有作用的右键菜单...是不是本末倒置了 ...

说得对呀,你这么一说,好像还真的是这样。
发表于 2026-4-11 14:04:15 | 显示全部楼层
  1. @Echo off
  2. Reg query "HKCR\Directory\background\shell\FolderView" /v "MuiVerb"|Find "隐藏" >Nul  && Goto yes || Goto no
  3. :yes
  4. Set "a=显示系统文件夹"
  5. Set "b=HideFolder.cmd"
  6. Rem;;;这里是C变量,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
  7. Set "c=隐藏系统文件夹"
  8. Set "icon=X:\Windows\Custom\FolderView\IcoFolder\ShowFolder.ico"
  9. Goto run
  10. :no
  11. Set "a=隐藏系统文件夹"
  12. Set "b=ShowFolder.cmd"
  13. Rem;;;这里是C变量,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
  14. Set "c=显示系统文件夹"
  15. Set "icon=X:\Windows\Custom\FolderView\IcoFolder\HideFolder.ico"
  16. :run
  17. Reg add "HKCR\Directory\background\shell\FolderView" /f /v "MuiVerb" /t REG_SZ /d "%a%"
  18. Reg add "HKCR\folder\Shell\FolderView" /f /v "MuiVerb" /t REG_SZ /d "%a%"
  19. Reg add "HKCR\Directory\background\shell\FolderView" /f /v "Icon" /t REG_SZ /d "%icon%"
  20. Reg add "HKCR\folder\Shell\FolderView" /f /v "Icon" /t REG_SZ /d "%icon%"
  21. Cls
  22. pecmd.exe EXEC !"X:\Windows\Custom\FolderView\%b%"
  23. Rem;;;这里是替换的C变量对话筐,,,,,,,,,,,,,,,,,,,,
  24. pecmd.exe MESS 已【%c%】 @已【%c%】 *2000
  25. pecmd.exe KILL explorer.exe
  26. Exit
复制代码


其实这脚本的还有改进空间,,,不用整那么多文件,,,可以把 HideFolder.cmdShowFolder.cmd 都整合到一个脚本里


结合9楼的回复可以猜到 HideFolder.cmdShowFolder.cmd 的修改内容基本是
  1. reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowSuperHidden" /t REG_DWORD  /d 00000000 /f
  2. reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowSuperHidden" /t REG_DWORD  /d 00000001 /f
复制代码


可以完全整合到一个 批处理文件里,不用过多调用,,,
------------------------------修改整合版----------------
  1. @Echo off
  2. Reg query "HKCR\Directory\background\shell\FolderView" /v "MuiVerb"|Find "隐藏" >Nul  && Goto yes || Goto no
  3. :yes
  4. Set "a=显示系统文件夹"
  5. Rem;;;修改版不需要调用 HideFolder.cmd 文件可以直接删除下句
  6. :::::::::::Set "b=HideFolder.cmd"
  7. Set "c=隐藏系统文件夹"
  8. Set "icon=X:\Windows\Custom\FolderView\IcoFolder\ShowFolder.ico"
  9. Rem;;;这里是直接修改,不需要调用文件,如有不符自行修改数值(也就是 /d 00000000 /f 改成 /d 00000001 /f)
  10. Reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowSuperHidden" /t REG_DWORD  /d 00000000 /f
  11. Goto run
  12. :no
  13. Set "a=隐藏系统文件夹"
  14. Rem;;;修改版不需要调用 ShowFolder.cmd 文件可以直接删除下句
  15. ::::::::Set "b=ShowFolder.cmd"
  16. Rem;;;这里是C变量
  17. Set "c=显示系统文件夹"
  18. Set "icon=X:\Windows\Custom\FolderView\IcoFolder\HideFolder.ico"
  19. Rem;;;这里是直接修改,不需要调用文件,如有不符自行修改数值(也就是 /d 00000001 /f 改成 /d 00000000 /f)
  20. Reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowSuperHidden" /t REG_DWORD  /d 00000001 /f
  21. :run
  22. Reg add "HKCR\Directory\background\shell\FolderView" /f /v "MuiVerb" /t REG_SZ /d "%a%"
  23. Reg add "HKCR\folder\Shell\FolderView" /f /v "MuiVerb" /t REG_SZ /d "%a%"
  24. Reg add "HKCR\Directory\background\shell\FolderView" /f /v "Icon" /t REG_SZ /d "%icon%"
  25. Reg add "HKCR\folder\Shell\FolderView" /f /v "Icon" /t REG_SZ /d "%icon%"
  26. Cls
  27. Rem;;;修改版不需要调用外在执行文件,下句也可以直接删除,,,
  28. :::::::::::::pecmd.exe EXEC !"X:\Windows\Custom\FolderView\%b%"
  29. Rem;;;这里是替换的C变量对话筐
  30. pecmd.exe MESS 已【%c%】 @已【%c%】 *2000
  31. pecmd.exe KILL explorer.exe
  32. Exit
复制代码

----------这样改写法,就可以把, HideFolder.cmdShowFolder.cmd 文件扔了,,,

你这脚本的功用和我前段时间扔出来的的
显示/隐藏_系统.后缀 ..........脚本
有趋同效果,不过我写的是在常规win下的 VBS,,,

----------------瞎扯吐槽一下网盘--------------------
鄙人的所有回复里,都没有下载你的原文件,百度盘需要登录才能下载懒得登录度盘,慢,且需要登录,大点的文件或可执行文件,还要客户端,鄙人摒弃了。
如果想别人不需要登录就可以下载分享,还是推荐蓝凑盘永硕盘
代码分享交流的,推荐永硕盘,权限分享都很适合一些网络代码文件交流!
鄙人签名里就是永硕盘,权限设置,分享,都很,合理,访客可以上传文件给管理者,让别人帮你查看,修改,求助!

---复述:BAT 有很多写法都能达到最终同一效果,有些写法走的逻辑有区别不同。

发表于 2026-4-11 14:29:57 | 显示全部楼层
77七 发表于 2026-4-11 12:58
关键的命令隐藏在调用的bat中,多数代码行就在写一个没有作用的右键菜单...是不是本末倒置了 ...

也不是这样说,正如他原始扔出来的代码里面:有图标,有对话框,有修改右键显示,有结束进程,又重启资源管理,又模拟按键的,,,,,,,,,,,

脚本嘛!有的写得很粗糙,有的打磨得很精细,,,
,,
,,,
,,,,
,,,,,
发表于 2026-4-11 14:39:18 | 显示全部楼层
本帖最后由 aloha20200628 于 2026-4-11 14:52 编辑

一楼源代码是把注册表仅作为一个 '状态变量' 的长久存放地(但其抢占右键菜单这块万方之争的稀缺资源,或许过于奢侈了),实际上也可存放在硬盘某个位置,甚至就存放于代码脚本自身,每次被运行时先自动读取,用此逻辑,ShowFolder.cmd 和 HideFolder.cmd 这两个脚本就可以合二为一了,每次启运只是用这个存放在某处的 '状态变量值' 驱动就是了...
 楼主| 发表于 2026-4-11 16:22:04 | 显示全部楼层
aloha20200628 发表于 2026-4-11 14:39
一楼源代码是把注册表仅作为一个 '状态变量' 的长久存放地(但其抢占右键菜单这块万方之争的稀缺资源,或许 ...

高深了,弄不懂啊
 楼主| 发表于 2026-4-11 16:28:52 | 显示全部楼层
jiavip 发表于 2026-4-11 14:04
其实这脚本的还有改进空间,,,不用整那么多文件,,,可以把 HideFolder.cmd 和 ShowFolder.cmd 都整 ...

这个好,全解决了,老师大善,福泽贯盈,吉运永驻,感谢了。
我这个原始代码肯定也是别人的,我也忘了出自何处,我是在 PECMD 技术论坛 “显示/隐藏_系统.后缀 ..........脚本” 得到的启示,原来就是老师的,也许就是借助了其中的代码依葫芦画瓢修改而来的。
 楼主| 发表于 2026-4-11 17:01:59 | 显示全部楼层
766266yyn 发表于 2026-4-11 16:28
这个好,全解决了,老师大善,福泽贯盈,吉运永驻,感谢了。
我这个原始代码肯定也是别人的,我也忘了出 ...


以此类推,那个 VBS 代码修改一下也可以丢掉 ShowFolder.cmd 和 HideFolder.cmd,实在是“高啊”
发表于 2026-4-11 18:26:25 | 显示全部楼层
资源管理器有 查看 菜单,其中包含 隐藏项目 选项,取消此勾选,全部隐藏文件夹会变为可见,还是要看 showFolder.cmd 和 hideFolder.cmd 源代码究竟修理何处?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-4-21 18:31

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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