找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 43826|回复: 15

批处理创建快捷方式

[复制链接]
发表于 2008-3-18 10:46:37 | 显示全部楼层 |阅读模式
  1. @echo off
  2. @echo.
  3. @echo.
  4. set /p p=将要创建快捷方式的文件放到这里来:
  5. set url=%p%

  6. echo [InternetShortcut] >%url:~0%.url
  7. echo URL=%p% >>%url:~0%.url
  8. echo IconIndex=0 >>%url:~0%.url
  9. echo IconFile=%windir%\system32\cmd.exe>>%url:~0%.url
  10. pause
复制代码

[ 本帖最后由 Batcher 于 2009-5-16 13:51 编辑 ]

评分

参与人数 1PB +4 收起 理由
youxi01 + 4 原创内容

查看全部评分

发表于 2008-4-14 13:38:55 | 显示全部楼层
学习,学习......................
发表于 2008-5-1 13:36:52 | 显示全部楼层
厉害呀,学到一招了
发表于 2008-9-13 21:19:40 | 显示全部楼层
批处理创建不了lnk就用url代替…有创意!
发表于 2008-11-8 21:58:46 | 显示全部楼层

%url:~0%.url

%url:~0%.url什么意思呢高手指点下啊
发表于 2008-11-8 22:31:50 | 显示全部楼层
%url:~0%是种很无聊、故弄玄虚的写法,等于%url%。。。

%url:~1%、%url:~1,2%之类的用法,论坛搜索“set”
发表于 2008-11-9 08:55:43 | 显示全部楼层
创建的快捷方式为什么不能和原文件图标同步呢?可不可以创建的快捷方式都放在桌面上的啊?怎么写呢?
发表于 2008-11-9 13:17:22 | 显示全部楼层

回复 7楼 的帖子

可以。
可以。
需要你看懂楼主的代码,再自行修改。
发表于 2008-11-9 15:52:37 | 显示全部楼层

谢了~~坛主

谢了~~坛主~已经理解了
发表于 2008-11-28 21:42:15 | 显示全部楼层
在不用第三方工具情况下能用批处理来创建快捷方式,真是绝招。如果把代码简单地改一下就可创建快捷方式到桌面上:
  1. @echo off
  2. rem 把文件或文件夹拖到我身上即可
  3. set "a=%1"
  4. set "name=%~nx$a:1%"
  5. echo [InternetShortcut] >"%userprofile%\桌面\%name%.url"
  6. echo URL="%a%" >>"%userprofile%\桌面\%name%.url"
  7. echo IconIndex=19 >>"%userprofile%\桌面\%name%.url"
  8. echo IconFile=%SystemRoot%\system32\SHELL32.dll >>"%userprofile%\桌面\%name%.url"
  9. exit
复制代码

再改进一下,快捷方式图标与关联程序相同:
  1. @echo off
  2. rem 把文件或文件夹拖到我身上即可创建快捷方式到桌面上
  3. set "a=%1"
  4. set "name=%~n$a:1%"
  5. set "ext=%~x$a:1%"
  6. if "%ext%"=="" goto FOLDER
  7. if "%ext%"==".bat" goto BAT
  8. if "%ext%"==".cmd" goto BAT
  9. for /f "tokens=2 delims==" %%b in ('assoc %ext%') do (
  10.   for /f "tokens=2 delims==" %%c in ('ftype %%b') do set "d=%%c"
  11. )
  12. set e=%d:~0,-5%
  13. set f=0

  14. :URL
  15. echo [InternetShortcut] >"%userprofile%\桌面\%name%.url"
  16. echo URL="%a%" >>"%userprofile%\桌面\%name%.url"
  17. echo IconIndex=%f% >>"%userprofile%\桌面\%name%.url"
  18. echo IconFile=%e% >>"%userprofile%\桌面\%name%.url"
  19. exit

  20. :FOLDER
  21. set e=%SystemRoot%\system32\SHELL32.dll
  22. set f=3
  23. goto URL

  24. :BAT
  25. set e=%SystemRoot%\system32\SHELL32.dll
  26. set f=71
  27. goto URL
复制代码

[ 本帖最后由 newxso 于 2008-11-30 20:40 编辑 ]
发表于 2008-12-4 17:08:24 | 显示全部楼层
还是不懂,看来要从头学了.
发表于 2008-12-4 21:42:46 | 显示全部楼层
有个缺陷 , 如果需要创建快捷方式的文件需要执行目录在原来的目录的话快捷方式就会执行失败
发表于 2011-8-23 20:17:34 | 显示全部楼层
顶楼的代码我在一本书上看过~
我记得这本书叫“批处理命令在Windows操作中的典型应用”
在第30多面(应该是吧~)
发表于 2016-1-5 20:55:02 | 显示全部楼层
谢谢分享咯,,支持一下
发表于 2017-2-26 05:54:54 | 显示全部楼层
回复 7# mygoodboy


    可以用比较耍赖的方法生成正统的lnk快捷方式,——地球人都知道的vbs调用filesystemobject生成快捷方式无压力,我们用bat生成vbs,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:05 , Processed in 0.014596 second(s), 10 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表