标题: 批处理创建快捷方式 [打印本页]
作者: fml520 时间: 2008-3-18 10:46 标题: 批处理创建快捷方式
- @echo off
- @echo.
- @echo.
- set /p p=将要创建快捷方式的文件放到这里来:
- set url=%p%
-
- echo [InternetShortcut] >%url:~0%.url
- echo URL=%p% >>%url:~0%.url
- echo IconIndex=0 >>%url:~0%.url
- echo IconFile=%windir%\system32\cmd.exe>>%url:~0%.url
- pause
复制代码
[ 本帖最后由 Batcher 于 2009-5-16 13:51 编辑 ]
作者: jju 时间: 2008-4-14 13:38
学习,学习......................
作者: tcl 时间: 2008-5-1 13:36
厉害呀,学到一招了
作者: SmallK 时间: 2008-9-13 21:19
批处理创建不了lnk就用url代替…有创意!
作者: jiangxu110 时间: 2008-11-8 21:58 标题: %url:~0%.url
%url:~0%.url什么意思呢高手指点下啊
作者: pusofalse 时间: 2008-11-8 22:31
%url:~0%是种很无聊、故弄玄虚的写法,等于%url%。。。
%url:~1%、%url:~1,2%之类的用法,论坛搜索“set”
作者: mygoodboy 时间: 2008-11-9 08:55
创建的快捷方式为什么不能和原文件图标同步呢?可不可以创建的快捷方式都放在桌面上的啊?怎么写呢?
作者: Batcher 时间: 2008-11-9 13:17 标题: 回复 7楼 的帖子
可以。
可以。
需要你看懂楼主的代码,再自行修改。
作者: jiangxu110 时间: 2008-11-9 15:52 标题: 谢了~~坛主
谢了~~坛主~已经理解了
作者: newxso 时间: 2008-11-28 21:42
在不用第三方工具情况下能用批处理来创建快捷方式,真是绝招。如果把代码简单地改一下就可创建快捷方式到桌面上:
- @echo off
- rem 把文件或文件夹拖到我身上即可
- set "a=%1"
- set "name=%~nx$a:1%"
- echo [InternetShortcut] >"%userprofile%\桌面\%name%.url"
- echo URL="%a%" >>"%userprofile%\桌面\%name%.url"
- echo IconIndex=19 >>"%userprofile%\桌面\%name%.url"
- echo IconFile=%SystemRoot%\system32\SHELL32.dll >>"%userprofile%\桌面\%name%.url"
- exit
复制代码
再改进一下,快捷方式图标与关联程序相同:
- @echo off
- rem 把文件或文件夹拖到我身上即可创建快捷方式到桌面上
- set "a=%1"
- set "name=%~n$a:1%"
- set "ext=%~x$a:1%"
- if "%ext%"=="" goto FOLDER
- if "%ext%"==".bat" goto BAT
- if "%ext%"==".cmd" goto BAT
- for /f "tokens=2 delims==" %%b in ('assoc %ext%') do (
- for /f "tokens=2 delims==" %%c in ('ftype %%b') do set "d=%%c"
- )
- set e=%d:~0,-5%
- set f=0
-
- :URL
- echo [InternetShortcut] >"%userprofile%\桌面\%name%.url"
- echo URL="%a%" >>"%userprofile%\桌面\%name%.url"
- echo IconIndex=%f% >>"%userprofile%\桌面\%name%.url"
- echo IconFile=%e% >>"%userprofile%\桌面\%name%.url"
- exit
-
- :FOLDER
- set e=%SystemRoot%\system32\SHELL32.dll
- set f=3
- goto URL
-
- :BAT
- set e=%SystemRoot%\system32\SHELL32.dll
- set f=71
- goto URL
复制代码
[ 本帖最后由 newxso 于 2008-11-30 20:40 编辑 ]
作者: gs133790 时间: 2008-12-4 17:08
还是不懂,看来要从头学了.
作者: a794685135 时间: 2008-12-4 21:42
有个缺陷 , 如果需要创建快捷方式的文件需要执行目录在原来的目录的话快捷方式就会执行失败
作者: garyng 时间: 2011-8-23 20:17
顶楼的代码我在一本书上看过~
我记得这本书叫“批处理命令在Windows操作中的典型应用”
在第30多面(应该是吧~)
作者: sunboy520 时间: 2016-1-5 20:55
谢谢分享咯,,支持一下
作者: liero1982 时间: 2017-2-26 05:54
回复 7# mygoodboy
可以用比较耍赖的方法生成正统的lnk快捷方式,——地球人都知道的vbs调用filesystemobject生成快捷方式无压力,我们用bat生成vbs,呵呵
作者: 老刘1号 时间: 2017-2-26 08:13
回复 15# liero1982
外部VBS都不用生成,直接MSHTA调用生成lnk快捷方式
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |