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

[文件操作] [已解决]请问怎样让用bat修改文件夹图标恢复默认状态?

本帖最后由 1139054012 于 2019-9-21 00:54 编辑
  1. rem 获取当前文件夹名...
  2. set "lj=%~p0"
  3. set "lj=%lj:\= %"
  4. for %%a in (%lj%) do set wjj=%%a
  5. del /a /f /q desktop.ini 2>nul
  6. (echo;[.ShellClassInfo]
  7. echo IconResource=icon.ico,0
  8. echo ConfirmFileOp=0
  9. echo NoSharing=1
  10. echo IconFile=icon.ico
  11. echo IconIndex=0
  12. echo InfoTip=%wjj%)>desktop.ini
  13. attrib +s +h desktop.ini
  14. attrib +s "%cd%"
复制代码
之前一直用这段代码来修改文件夹图标,功能没什么不妥
但目前我如果想换一个新图标,即使替换了图标,双击使用bat运行这段代码,文件夹还是原来图标,不更改
请教下论坛的朋友,如何才能把原来文件夹名的图标初始化,恢复原来状态,然后再使用这段代码重新修改文件夹新图标呢?

回复 4# cutebe


感谢,通过借鉴你的代码,修改了1楼代码,不但终于成功实现了二次修改图标功能,还顺便增加了重启资源管理器,即使刷新效果功能

TOP

本帖最后由 cutebe 于 2019-9-20 23:06 编辑
  1. ::Win7测试
  2. cd/d%~dp0
  3. set "folder=%~dp0"
  4. set "folder=%folder:~,-1%"
  5. ::attrib -s "%folder%"%_XP先去除系统属性,因为你用了attrib +s_%
  6. attrib -s -h desktop.ini
  7. (
  8. echo/[.ShellClassInfo]
  9. echo/LocalizedResourceName=@%%SystemRoot%%\system32\shell32.dll,-21798
  10. echo/IconResource=%%SystemRoot%%\system32\imageres.dll,-184
  11. )>desktop.ini
  12. attrib +s +h desktop.ini
  13. ::attrib -a "%folder%"
  14. ::XP好像需要这条命令;Win7不需要,只是需要一些时间来产生效果。
  15. pause
  16. ::想马上直接看到效果,则重启explorer进程
  17. tskill explorer
  18. explorer "%folder%"
  19. explorer "%folder%\.."
复制代码
代码上的图标是系统的下载图标。
测试的是在Win7下的搜索图标与下载图标之间互切,测试通过。
1

评分人数

    • 1139054012: 帮助本人解决了一个疑惑技术 + 1
如无特别说明,代码测试环境均为 XP SP3

TOP

回复 2# cutebe


    请问可否给个参考代码,我这边加了+a 存档属性后,还是无法二次修改图标

TOP

换成为文件夹添加一下存档属性即可。(在系统没出问题的前提下)
如无特别说明,代码测试环境均为 XP SP3

TOP

返回列表