标题: [系统增强] 批处理创建快捷方式【简单好用详解】 [打印本页]
作者: cjiabing 时间: 2011-2-11 22:20 标题: 批处理创建快捷方式【简单好用详解】
好久没来了,发个有用的东西——批处理创建快捷方式。非我原创,这里整理一下,希望对大家有用。
一、批处理生成快捷方式:
1、可以直接生成:
echo [InternetShortcut]>>"%USERPROFILE%\桌面\BatMPlayer.url"
echo URL="C:\BatMPlayer\BatMPlayer.bat">>"%USERPROFILE%\桌面\BatMPlayer.url"
echo IconIndex=99>>"%USERPROFILE%\桌面\BatMPlayer.url"
echo IconFile=%SystemRoot%\system32\SHELL32.dll>>"%USERPROFILE%\桌面\BatMPlayer.url"
2、也可以先设置变量:-
- @echo off
- set "path=C:\BatMPlayer\BatMPlayer.bat"
- set "name=我的BatMPlayer"
- set m="%USERPROFILE%\桌面\%name%.url"
- echo [InternetShortcut] >>%m%
- echo URL="%path%" >>%m%
- echo IconIndex=10 >>%m%
- echo IconFile=C:\windows\system32\shell32.dll >>%m%
- pause
复制代码
二、查看与解释
1、生成的快捷方式是一个url链接,用记事本打开,得到以下内容:
[InternetShortcut]
URL="C:\BatMPlayer\BatMPlayer.bat"
IconIndex=17
IconFile=C:\WINDOWS\system32\SHELL32.dll
2、以下是快捷方式内容的解释:
[InternetShortcut] ;快捷方式。
URL="C:\BatMPlayer\BatMPlayer.bat" ;快捷方式的程序路径。
IconIndex=99 ;快捷方式使用的图标的顺序号(此处为系统文件中的图标的顺序,位于以下的IconFile文件夹中,具体查看第三部分的《Shell32.Dll 图标资源对照表》)。
IconFile=%SystemRoot%\system32\SHELL32.dll ;快捷方式图标的位置(此处为系统文件路径,常见系统快捷方式的图标存放位置)。
"%USERPROFILE%\桌面\BatMPlayer.url" ; 快捷方式创建位置(此处为桌面),注意双引号和后缀名。
三、Windows系统Shell32.Dll 图标资源对照表
Windows系统Shell32.Dll 图标资源对照表Shell32.Dll 图标资源对照表
001:默认图标(无扩展名文件)
002:默认文本
003:EXE文件
004:文件夹闭合
005:文件夹打开
006:5.25" 5寸盘
007:3.5" 3寸盘/
008:移动存储
009:磁盘
010:网络硬盘
011:网络硬盘(离线)
012:空CD驱动器
013:Ram 盘
014:全球
015:不知(图标描述:一个地球上有一个鼠标)
016:我的电脑)
017:打印机
018:网上邻居
019:工作组
020:查看(详细描述:工具栏上的"平铺"、"图标"、"列表"、"详细信息"、的图标)
021:历史纪录文档
022:控制面版
023:搜索(描述:单纯的一个搜索放大镜)
024:帮助
025:运行
026:睡眠模式
027:弹出(256色)
028:关闭(描述:好像是关闭电源的那种)
029:共享
030:快捷方式小箭头
031:不知(类似 快捷箭头大小 黑色里有一个小圈圈)
032:回收站[空]
033:回收站[满]
034:网络空间文件夹
035:显示桌面
036:控制面版(256色)
037:{与020 相同} 查看(描述:工具栏上的"平铺"、"图标"、"列表"、"详细信息"、的图标)
038:打印机文件夹 (256色)
039:字体文件夹
040:任务栏和开始菜单
041:音频CD
042:不知(图标描述:和上Ftp的时候地址栏的图标一样。)
043:不知(图标描述:底层一个文件夹图标,顶层一个电脑图标)
044:收藏夹
045:登陆/注销
046:搜索文件夹
047:Windows 自动更新
048:不知(图标描述:一把锁)
049:不知(图标描述:底层一个文件夹窗口,顶层一个蓝色屏幕电脑图标)
050~053:都是空白图标
054:未知磁盘
133:不知(图标描述:层叠着的空白文件)
134:搜索(详细描述:打开方式那里的搜索。)
135:搜索我的电脑
137:{与022 相同} 控制面版
138:打印机和传真
139:添加新的打印机
140:网络打印机
141:不知(图标描述:一个打印机和一个软盘)
142~144:另类回收站[满](描述:和32.33 图标不一样,另一种回收站[满]样式)
145:不知(图标描述:2个文本文档,底层是一个红叉文档,顶层是一个完好文档,好像是完好文档替换损坏文档的意思)
146:复制文件
147:文件重命名
148:不知(图标描述:一个电脑+一个齿轮转移到一个文件夹内,好像是配置备份的意思。)
151:配置文件
152:文本文档
153:批处理文件(256色)
154:DLL文件
155:A字体(不好意思,不知道A字体的全名)
156:TrueType Font Truetype字体
157:Type 1 Font Type 1 字体
160:{与025 相同} 运行
161:删除
165:文件备份硬盘
166:光驱错误校验
167:磁盘碎片
168:安装打印机
169:安装网络打印机
170:不知(图标描述:一个打印机和一个软盘,左上角有一小勾勾)
171:颜色交换文件
172:共享文档
173:{与044 相同}收藏夹!
174:不知(图标描述:一个文件夹,文件夹上有几种颜色.有一个箭头指着,好像是要选择文件颜色还是怎么)
175:连接到
176:新建网络文件夹(256色)
177:不知(图标描述:一个文件夹窗口和一个齿轮,好像是配置文件夹)
178:添加新的连接-
179:不知(图标描述:底层一个地球,顶层一台电脑和主机)
180:不知(图标描述:一个显示器,打开了很多窗口.都缩小到了任务栏)
181:不知(图标描述:一个显示器,显示的空白桌面)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下面的是文件夹选项中的图标:
182:在文件夹显示常见任务
183:使用 Windows 传统风格的文件夹
184:在同一窗口中打开每个文件夹
185:在不同窗口中打开不同的文件夹!
186:通过单击打开项目(指向时选定)
187:通过双击打开项目(单击时选定)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
191:另类回收站[空](256色)(描述:和32.33 图标不一样,另一种回收站[空]样式)
192:与191是一个图标样式的回收站[满](256色)
193:网络文件夹
194:不知(图标描述:3把钥匙)
196:传真机
197:安装传真机
198:安装网络传真机
199:网络传真机
200:禁止动作
210:文件夹选项
220:用户(256色)
221:电源开关!
222:DVD光盘
223:不知(图标描述:3张层叠的文档)
224:视频文件
225:音频文件
226:图像文件
227:混合媒体文件
228:音频CD (256色)
229:CF卡读卡器
230:Zip驱动器
231:不知(图标描述:类似快捷箭头的向下小图标)
232:{与231 相同} 不知(图标描述:类似快捷箭头的向下小图标)
233:{与008 相同} 移动存储
234:Zip驱动器(无盘)
235:我的文档
236:我的图片
237:我的音乐
238:我的视频
239:Msn
240:取消
241:不知(图标描述:我的文档图标+一个向右的箭头,难道是.........)
242:选择
243:2个文本文档
244:把此文件发布到Web
245:{与017 相同}打印机
246:播放
247:在线音乐商店
248:照相机
249:幻灯片
250:显示 (详细描述:控制面版的“显示”,也就是桌面属性)
251:在线定购打印机
252:打印图片
253:不知(图标描述:一个默认图标,中间一个红色的勾勾)
254:{与032 相同} 回收站[空]
255:前一文件夹
256:{与146 相同} 复制文件
257:{与175 相同} 连接到
258:新建网络共享文件夹
259:网络安装向导
260:将文件烧制到CD
261:将软件刻录到CD
262:将光盘仍到回收站
263:帮助
264:复制到文件夹
265:电子邮件
266:复制到CD
267:共享文件夹
268:辅助功能选项
269:用户帐户
270:桌面主题
271:添加/删除程序
272:打印机和其他硬件
273:网络和Internet连接!
274:选项
275:性能和维护
276:日期、时间、语言和区域选项
277:声音、语音和音频设备
278:批处理
279:{与269 相同} 用户帐户
281:放大镜
282:语音
283:屏幕键盘
284:不知(图标描述:2个黑白三角型组成的正方型图标)
289:帮助文档
290:确定、开始、Go 。
291:DVD驱动器
292:增强CD
293:未知CD
294:CD-ROM光盘
295:CD-R光盘
296:CD-RW光盘
297:DVD-RAM光盘
298:DVD-R光盘
299:MP3 播放器
300:大磁带驱动器
301:小磁带驱动器
302:普通CD
303:CF卡
304:DVD-ROM光盘
305:{与008 相同} 移动存储
306:PC卡
307:SD卡
308:智能卡
309:{与248 相同} 照相机
310:手机
311:不知(图标描述:底层一个地球,顶层一个打印机)
312:JAZ驱动器
313:{与230 相同} Zip驱动器
314:PDA
315:扫描仪
316:扫描仪和相机
317:DV机
318:DVD-RW光盘
319:新建文件夹
320:{与266 相同} 复制到CD
321:{与022 相同} 控制面版2
322:{与044 相同} 收藏夹
323:{与023 相同} 搜索(描述:单纯的一个搜索放大镜)
324:{与024 相同} 帮助
325:{与045 相同} 登陆/注销
326:{与020 相同,只不过小一点} 查看(描述:工具栏上的"平铺"、"图标"、"列表"、"详细信息"、的图标)
327:{与021 相同,只不过小一点} 历史纪录文档
328:{与025 相同} 运行
329:关闭
330:{与022 相同} 控制面版
331:弹出
337:不知(图标描述:一个放大镜在找驱动里面的东西)
338:{与200 相同} 禁止动作
512:Internet Explorer
1001:气球提示
1002:{与168 相同} 安装打印机
1003:不知(图标描述:一个主机上有一个勾)
1004:{与289 相同} 帮助文档
1005:不知(图标描述:一个默认图标+一个向右的箭头)
1006:打印文档
1007:{与253 相同} 不知(图标描述:一个默认图标,中间一个红色的勾勾)
1008:暂停打印
1009:开始打印
1010:共享传真机
1011:另类传真机(详细描述:与196有所不同)
8240:另类我的电脑(详细描述:与016有所不同)
16710~16721:所有{与161 相同} 删除
====================================================================
希望能对那些想换换系统中图标的朋友有点帮助
[ 本帖最后由 cjiabing 于 2011-2-11 22:22 编辑 ]
作者: wc726842270 时间: 2011-2-11 23:26
LZ找的真够全的。以前写过比较简单的- @echo off
- md "%userprofile%\桌面\1"
- (echo [.shellclassinfo]
- echo iconfile="%%systemroot%%\system32\shell32.dll"
- echo iconindex=-50
- )>"%userprofile%\桌面\1\desktop.ini"
- attrib +S +R "%userprofile%\桌面\1"
- pause
复制代码
[ 本帖最后由 wc726842270 于 2011-2-11 23:29 编辑 ]
作者: wc726842270 时间: 2011-2-11 23:38
至于查看图标。可以新建一个文件夹。右键—属性—自定义—更改图标.即可看到。再参照LZ的方法,可以很快的找出喜欢的图标
作者: Batcher 时间: 2011-2-11 23:40
批处理创建lnk快捷方式- @echo off
- set SrcFile=C:\test\a.txt
- set LnkFile=D:\test\b.txt
- call :CreateShort "%SrcFile%" "%LnkFile%"
- goto :eof
-
- ::Arguments 目标程序参数
- ::Description 快捷方式备注
- ::FullName 返回快捷方式完整路径
- ::Hotkey 快捷方式快捷键
- ::IconLocation 快捷方式图标,不设则使用默认图标
- ::TargetPath 目标
- ::WindowStyle 窗口启动状态
- ::WorkingDirectory 起始位置
-
- :CreateShort
- mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(""%~2.lnk""):b.TargetPath=""%~1"":b.WorkingDirectory=""%~dp1"":b.Save:close")
复制代码
作者: wc726842270 时间: 2011-2-11 23:55 标题: 回复 4楼 的帖子
请问此时CMD运行VBS代码时,是否调用的是CSCRIPT?
作者: jixun66 时间: 2011-2-20 06:39 标题: 回复 5楼 的帖子
调用的是『mshta』
作者: yz789 时间: 2011-2-22 20:18
有没有创建 .lnk 的代码?
作者: ubcc 时间: 2011-2-26 20:51
(*^__^*) 嘻嘻……,这个直接点击鼠标左键就可以创建,根本不需要批处理
作者: hbwazxf 时间: 2011-3-1 17:43
很好。很实用。。。。受教了……
作者: raymai97 时间: 2011-8-17 18:42
回复 7# yz789
4楼有啊~ Batcher写的~ 是Lnk的~
作者: raymai97 时间: 2011-8-17 18:42
批处理创建lnk快捷方式
Batcher 发表于 2011-2-11 23:40
Batcher你太强了~ 这个就是我想要的!
作者: caomeishuiguo 时间: 2011-8-27 00:03
慢慢看,更发现,批处理应用到位。功能十分强大。
作者: zaixinxiangnian 时间: 2011-8-27 15:46
非常好,虽说可以右键创建
但看了之后似乎懂了一些原理性的东西
作者: wh1234567 时间: 2012-2-10 01:40
回复 4# Batcher
运行没有反应,最好有个路径说明,是不是修改程序路径的批处理?
Arguments 目标程序参数
Description 快捷方式备注
FullName 返回快捷方式完整路径
Hotkey 快捷方式快捷键
IconLocation 快捷方式图标,不设则使用默认图标
TargetPath 目标
WindowStyle 窗口启动状态
WorkingDirectory 起始位置
这段是不是代码不全?
作者: Batcher 时间: 2012-2-10 14:05
回复 14# wh1234567
那段不是代码,而是参数,只是告诉你怎样使用而已。
作者: wh1234567 时间: 2012-2-11 12:32
set SrcFile=C:\test\a.txt
set LnkFile=D:\test\b.txt
分别是什么路径?
http://www.bathome.net/thread-15472-1-1.html
这个该如何弄?包括自动换图标,自动修改后无需小箭头的那种
作者: cjiabing 时间: 2012-3-21 12:41
回复 16# wh1234567
一直对mshta的稳定性存在疑虑,好比这个快捷方式,明明以前还用着,今天用了居然不起作用了。
用心去找了下原因,原来是路径有问题,修改了下路径就可以了!~
-
- @echo off
- ::演示将本批处理程序的快捷方式创建到桌面。对路径名比较敏感,请使用完整的路径名。
- set SrcFile=%~0
- set LnkFile=%USERPROFILE%\桌面\%~n0
- call :CreateShort "%SrcFile%" "%LnkFile%"
- goto :eof
- ::SrcFile 目标文件路径
- ::LnkFile 快捷方式路径(需要重新指定快捷方式的名称)。
- ::Arguments 目标程序参数
- ::Description 快捷方式备注
- ::FullName 返回快捷方式完整路径
- ::Hotkey 快捷方式快捷键
- ::IconLocation 快捷方式图标,不设则使用默认图标
- ::TargetPath 目标
- ::WindowStyle 窗口启动状态
- ::WorkingDirectory 起始位置
- :CreateShort
- mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(""%~2.lnk""):b.TargetPath=""%~1"":b.WorkingDirectory=""%~dp1"":b.Save:close")
复制代码
作者: find 时间: 2012-3-21 20:24
回复 16# wh1234567
“小箭头”是由一个注册表键值控制的
作者: 狱渊 时间: 2013-5-1 13:05
直接用右键····
作者: hacker85 时间: 2014-6-23 13:44
留名,后期好好研究。
作者: Linuxer 时间: 2014-8-14 17:43
本帖最后由 Linuxer 于 2014-8-14 17:52 编辑
回复 17# cjiabing
好帖~~我发现在win7系统里,桌面的路径会自动变成desktop。- set LnkFile=%USERPROFILE%\Desktop\%~n0
复制代码
改成这样代码就顺利执行了。
另外,看前两行代码都有%~0还以为这俩是同一个,,结果测试后才发现,这两个不是一个概念。
第一个%~0是需要创建快捷方式的文件的完整路径,第二个%~0是在桌面想要创建的快捷方式的名称。
通过这段批处理还学到了其他几个知识点,比如mshta及组合批参数的用法,,,感谢~~
作者: cjiabing 时间: 2014-8-17 19:42
回复 21# Linuxer
欢迎交流!~
%~0 ,指显示批处理文件自身的完整路径名(路径名和文件名和后缀名)。
%~n0 ,指显示批处理文件自身的文件名。
具体可以参考 for/? 最后几段。
作者: Linuxer 时间: 2014-8-18 17:19
回复 22# cjiabing
额。不好意思,,看错了。。竟然都看成是%~0了。。。没注意第二个是%~n0
作者: aries215 时间: 2019-1-6 21:02
回复 1# cjiabing
我试了 echo 方式,图标不能正确显示!- @echo off
- SetLocal EnableDelayedExpansion
- for %%i in (MSACCESS Excel WINWORD POWERPNT) do (
- echo [InternetShortcut]>"%USERPROFILE%\Desktop\%%i.url"
- echo URL="%~dp0Office16\%%i.exe">>"%USERPROFILE%\Desktop\%%i.url"
- echo IconIndex=0>>"%USERPROFILE%\Desktop\%%i.url">nul
- echo IconFile="%~dp0Office16\%%i.exe">>"%USERPROFILE%\Desktop\%%i.url"
- )
- pause
复制代码
统一是地球图标,手工指定才能正确显示。用HEX编辑器查看,就差IconIndex不能正确写入!
作者: Batcher 时间: 2019-1-6 21:07
回复 24# aries215
把>nul删掉试试
作者: aries215 时间: 2019-1-6 21:16
本帖最后由 aries215 于 2019-1-6 21:18 编辑
回复 25# Batcher
结果一样!
开始没有>nul的,提示索引为空才加上的。
作者: Batcher 时间: 2019-1-6 21:20
回复 26# aries215
>>"%USERPROFILE%\Desktop\%%i.url" echo IconIndex=0
作者: aries215 时间: 2019-1-6 21:20
回复 25# Batcher
用这个命令简单有效:复制代码
作者: aries215 时间: 2019-1-6 21:22
回复 27# Batcher
也试了,一样是统一地球图标。
你试过行吗?
作者: Batcher 时间: 2019-1-6 21:27
回复 29# aries215
IconIndex=0这一行还是不能写入url文件吗?
作者: aries215 时间: 2019-1-6 21:29
本帖最后由 aries215 于 2019-1-6 21:31 编辑
回复 30# Batcher
对啊,用hex编辑器查看是没有相关字符的。
手工指定图标后,再看就有了“IconIndex=0”。
Win81 ramos
作者: aries215 时间: 2019-1-6 22:20
本帖最后由 aries215 于 2019-1-6 22:26 编辑
回复 30# Batcher
图标问题解决了,是路径不该有双引号!
作者: aries215 时间: 2019-1-6 22:29
本帖最后由 aries215 于 2019-1-7 11:01 编辑
回复 30# Batcher
谢谢!去掉路径的双引号后,图标能显示了。路径中的空格会自动被转码为 %20:- file:///C:/Program%20Files/Office2016/Excel.exe
复制代码
如下符号 ^ 是否必要?我实测有无都一样。- >>"%UserProfile%\Desktop\%%i.url" echo IconIndex^=0
复制代码
作者: Batcher 时间: 2019-1-7 08:59
回复 33# aries215
不需要^这个转义符号
作者: eech 时间: 2019-9-1 01:30
很好的,图标都考虑到了
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |