标题: [文件操作] [已解决]BAT脚本修改指定文件夹的图标,文件夹图标不变 [打印本页]
作者: 881966 时间: 2018-10-8 09:30 标题: [已解决]BAT脚本修改指定文件夹的图标,文件夹图标不变
- @echo off
- set dir="%cd%"
- set ico="%cd%\586.ico"
- pause
- (echo [.ShellClassInfo]
- echo IconResource=%ico%)>"%dir%\desktop.ini"
- pause
- attrib +s +h "%dir%\desktop.ini"
- pause
- attrib +s "%cd%"
- pause
复制代码
desktop.ini文件可以创建,不管怎么刷新,文件夹图标不变。不知道那里问题
作者: flashercs 时间: 2018-10-8 10:12
attrib +r "%cd%"
作者: 881966 时间: 2018-10-8 11:07
谢谢,加了还是不行
@echo off
set dir="%cd%"
set ico="%cd%\586.ico"
pause
(echo [.ShellClassInfo]
echo IconResource=%ico%)>"%dir%\desktop.ini"
pause
attrib +s +h "%dir%\desktop.ini"
pause
attrib +s +r "%cd%"
pause
作者: flashercs 时间: 2018-10-8 11:30
.ico的问题,不合标准。
作者: 881966 时间: 2018-10-8 11:41
谢谢
.ico是在shell32.dll提取出来的
作者: 881966 时间: 2018-10-8 11:49
你好,图标需要什么标准?换了好多不行
作者: xczxczxcz 时间: 2018-10-8 17:34
图标要指定是图包里的哪一张图片。如:586.ico,0 为xxx.ico的第一张。
这个问题好前不久有提过。
作者: 881966 时间: 2018-10-8 17:38
我是把图标提取出来单独用的,不是在dll里边,谢谢
作者: xczxczxcz 时间: 2018-10-8 19:29
回复 8# 881966
提出来也要加。
以前写过一个,翻出来帖上:XP WIN7 未试。WIN8立现,WIN10要刷新。把图标改成 #.ico- @echo off
- set/p=先把 #.ico 放入文件夹内并拖文件夹到批上 <nul
- (pause>nul
- (for /d %%a in (%1) do (
- echo [.ShellClassInfo]
- echo IconResource=..\%%~nxa\#.ico,0
- echo [ViewState]
- echo Mode=
- echo Vid=
- echo FolderType=Pictures
- ))>"%~1\desktop.ini"
- pushd %1
- attrib +s +h desktop.ini
- attrib +s +h #.ico
- popd
- attrib +r %1
- ie4uinit -show
- )
- echo 延时60秒... 针对WIN10系统,文件夹嵌套,延时刷新
- timeout /t 60 /nobreak
- md "%~1\请删除我"
- rd /q "%~1\请删除我"
- ie4uinit -show
复制代码
作者: 881966 时间: 2018-10-8 19:44
谢谢,我试试看
作者: cutebe 时间: 2018-10-8 23:15
- @ECHO OFF
- SET "MUSIC_DIR=D:\新建文件夹"
- CALL :DIRICON "%MUSIC_DIR%"
- PAUSE
- GOTO :EOF
- ::结束
- :DIRICON DIR
- ATTRIB -H -S -R "%~1\DESKTOP.INI"
- (
- ECHO,[.ShellClassInfo]
- ECHO,IconFile=%%SystemRoot%%\system32\SHELL32.dll
- ECHO,IconIndex=-237%_这是音乐文件夹图标_%
- )>"%~1\DESKTOP.INI"
- ATTRIB +H +S "%~1\DESKTOP.INI"
- ::ATTRIB -R %1
- ATTRIB +R %1
复制代码
XP测试立马生效,DLL文件中的图标不需要提取出来,直接给出序号就可。(如例子代码中的序号是-237)
作者: /zhqsystem/zhq 时间: 2018-10-8 23:56
自己把那俩变量显示出来是什么鬼
作者: 881966 时间: 2018-10-9 10:58
11楼兄弟,谢谢,我试试看
作者: 881966 时间: 2018-10-9 10:59
12楼兄弟,那俩变量就是当前路径,测试用
作者: 881966 时间: 2018-10-9 11:10
回复 11# cutebe
想建立透明文件夹,把几个透明图标提取了
作者: 窄口牛 时间: 2018-10-9 12:15
牛逼,透明文件夹
作者: 881966 时间: 2018-10-9 19:04
回复 9# xczxczxcz
win7系统,试了窗口一闪,文件夹没反应。
作者: 881966 时间: 2018-10-9 19:26
回复 11# cutebe
谢谢,测试可以,需要多刷新几次。
作者: xczxczxcz 时间: 2018-10-9 20:08
回复 17# 881966
去虚拟机中的 XP系统试了下,在XP下确实不行,发现是参数写法不一样。可能 WIN7 和 XP 差不多。
下面这个新的 测试 XP WIN10都正常。 XP系统把延时部分删除。- @echo off
- set/p=先把 #.ico 放入文件夹内并拖入文件夹到批上 <nul
- (pause>nul
- (for /d %%a in (%1) do (
- echo [.ShellClassInfo]
- echo IconIndex=0
- echo IconFile=..\%%~nxa\#.ico
- ))>"%~1\desktop.ini"
- pushd %1
- attrib +s +h desktop.ini
- attrib +s +h #.ico
- popd
- attrib +r %1
- ie4uinit -show
- )
- echo 延时60秒... 针对WIN10系统,文件夹嵌套,延时刷新
- timeout /t 60 /nobreak
- md "%~1\请删除我"
- rd /q "%~1\请删除我"
- ie4uinit -show
复制代码
作者: 881966 时间: 2018-10-12 19:51
回复 19# xczxczxcz
谢谢,我测试看看
作者: 881966 时间: 2018-10-13 20:03
回复 19# xczxczxcz
谢谢,win7系统,测试结果:先把 #.ico 放入文件夹内并拖入文件夹到批上,之后没反应。
作者: xczxczxcz 时间: 2018-10-13 20:31
本帖最后由 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行及后面的 延时部分删除。因不需要延时。
作者: 881966 时间: 2018-10-21 18:44
回复 22# xczxczxcz
谢谢你,可能是我的系统问题,等换系统再试试,谢谢
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |