Board logo

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

作者: 1139054012    时间: 2019-9-19 21:24     标题: [已解决]请问怎样让用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运行这段代码,文件夹还是原来图标,不更改
请教下论坛的朋友,如何才能把原来文件夹名的图标初始化,恢复原来状态,然后再使用这段代码重新修改文件夹新图标呢?
作者: cutebe    时间: 2019-9-19 21:46

换成为文件夹添加一下存档属性即可。(在系统没出问题的前提下)
作者: 1139054012    时间: 2019-9-20 09:49

回复 2# cutebe


    请问可否给个参考代码,我这边加了+a 存档属性后,还是无法二次修改图标
作者: cutebe    时间: 2019-9-20 23:03

本帖最后由 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下的搜索图标与下载图标之间互切,测试通过。
作者: 1139054012    时间: 2019-9-21 00:53

回复 4# cutebe


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




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2