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

[文件操作] [已解决]BAT脚本修改指定文件夹的图标,文件夹图标不变

  1. @echo off
  2. set dir="%cd%"
  3. set ico="%cd%\586.ico"
  4. pause
  5. (echo [.ShellClassInfo]
  6. echo IconResource=%ico%)>"%dir%\desktop.ini"
  7. pause
  8. attrib +s +h "%dir%\desktop.ini"
  9. pause
  10. attrib +s "%cd%"
  11. pause
复制代码
desktop.ini文件可以创建,不管怎么刷新,文件夹图标不变。不知道那里问题
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 22# xczxczxcz


    谢谢你,可能是我的系统问题,等换系统再试试,谢谢

TOP

本帖最后由 xczxczxcz 于 2018-10-13 20:33 编辑

回复 21# 881966


    立竿见影 好不好。 是不是你操作不当。也可能是那名话误导了你的操作。

正确姿式:把文体夹拖到批处理程序上。不是拖到窗口中。拖到批上后会弹出一个窗口,这个窗口是提示信息。直接回车就可以了。

在虚拟机装了 XP  WIN7  WIN8  测试都通过。  XP 与 WIN7 相同。 WIN8 新写法,WIN10 可用XP的写法,也可用WIN8的写法。 XP与7 需要把图索引号单独写,WIN8图号要写在图标后面。WIN10 二者兼容。 WIN8 WIN10 都要延时约1分钟。

XP 7 把第 16行及后面的 延时部分删除。因不需要延时。

TOP

回复 19# xczxczxcz


    谢谢,win7系统,测试结果:先把 #.ico 放入文件夹内并拖入文件夹到批上,之后没反应。

TOP

回复 19# xczxczxcz


    谢谢,我测试看看

TOP

回复 17# 881966

去虚拟机中的 XP系统试了下,在XP下确实不行,发现是参数写法不一样。可能 WIN7 和 XP 差不多。

下面这个新的 测试 XP WIN10都正常。 XP系统把延时部分删除。
  1. @echo off
  2. set/p=先把 #.ico 放入文件夹内并拖入文件夹到批上 <nul
  3. (pause>nul
  4. (for /d %%a in (%1) do (
  5. echo [.ShellClassInfo]
  6. echo IconIndex=0
  7. echo IconFile=..\%%~nxa\#.ico
  8. ))>"%~1\desktop.ini"
  9. pushd %1
  10. attrib +s +h desktop.ini
  11. attrib +s +h #.ico
  12. popd
  13. attrib +r %1
  14. ie4uinit -show
  15. )
  16. echo 延时60秒... 针对WIN10系统,文件夹嵌套,延时刷新
  17. timeout /t 60 /nobreak
  18. md "%~1\请删除我"
  19. rd /q "%~1\请删除我"
  20. ie4uinit -show
复制代码

TOP

回复 11# cutebe


    谢谢,测试可以,需要多刷新几次。

TOP

回复 9# xczxczxcz


    win7系统,试了窗口一闪,文件夹没反应。

TOP

牛逼,透明文件夹

TOP

回复 11# cutebe


    想建立透明文件夹,把几个透明图标提取了

TOP

12楼兄弟,那俩变量就是当前路径,测试用

TOP

11楼兄弟,谢谢,我试试看

TOP

自己把那俩变量显示出来是什么鬼
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

  1. @ECHO OFF
  2. SET "MUSIC_DIR=D:\新建文件夹"
  3. CALL :DIRICON "%MUSIC_DIR%"
  4. PAUSE
  5. GOTO :EOF
  6. ::结束
  7. :DIRICON DIR
  8. ATTRIB -H -S -R "%~1\DESKTOP.INI"
  9. (
  10. ECHO,[.ShellClassInfo]
  11. ECHO,IconFile=%%SystemRoot%%\system32\SHELL32.dll
  12. ECHO,IconIndex=-237%_这是音乐文件夹图标_%
  13. )>"%~1\DESKTOP.INI"
  14. ATTRIB +H +S "%~1\DESKTOP.INI"
  15. ::ATTRIB -R %1
  16. ATTRIB +R %1
复制代码
XP测试立马生效,DLL文件中的图标不需要提取出来,直接给出序号就可。(如例子代码中的序号是-237)
如无特别说明,代码测试环境均为 XP SP3

TOP

谢谢,我试试看

TOP

返回列表