Board logo

标题: [文件操作] [己解决]批处理怎样把EXE文件图标设为当前文件夹的图标? [打印本页]

作者: hkmhd    时间: 2011-3-15 14:56     标题: [己解决]批处理怎样把EXE文件图标设为当前文件夹的图标?

我想把一个批处理加到右键菜单中, 通过此批处理去将当前文件夹中某 EXE 或者 ICO 设为当前文件夹的图标.
但是, 怎么可以获取到这个文件的路径?
这个方法可能比较笨, 如果有更好的方法或者工具, 希望推荐一下. 要一步到位.
  1. @echo on
  2. set ico_path = "如何获得EXE/ICO文件的路径?"
  3. rem 设为所在目录的文件夹图标
  4. echo [.ShellClassInfo]>desktop.ini
  5. echo IconResource=%ico_path%,0>>desktop.ini
  6. pause
复制代码
[ 本帖最后由 hkmhd 于 2011-3-16 11:17 编辑 ]
作者: zz100001    时间: 2011-3-15 17:49

用 dir 的 s b 参数就能得到路径了撒
  1. @echo off
  2. set dir=%1
  3. for /f "delims=" %%i in ('dir /s /b %dir%\*.exe,%dir%\*.ico') do (set "ico_path=%%i")
  4. rem 设为所在目录的文件夹图标
  5. echo [.ShellClassInfo] > =%dir%\desktop.ini
  6. echo IconResource=%ico_path%,0 >> =%dir%\desktop.ini
  7. pause
复制代码

作者: hkmhd    时间: 2011-3-16 11:02

本帖最后由 hkmhd 于 2011-9-23 17:21 编辑

先感谢楼上的回复.
有想过用Dir, 但是这个方法并不是很好. 假如, 如果此文件夹内存在多个 EXE 呢? 这回使得最终获得的 path 不一定是我想要的.

但是这个问题我自己已经解决了. 之前有使用 %%1 , 不料在批处理里面反而应该是 %1.
囧~




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