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

[文件操作] [分享]建立快捷方式的批处理

[复制链接]
发表于 2009-12-8 04:56:28 | 显示全部楼层 |阅读模式
将需要建立桌面快捷方式的文件 F 的全路径作为此 bat 文件(或子程序)的第一个参数 %1, 就可在桌面上建立和文件 F 同名的快捷方式, 快捷方式的图标由文件 F 的类型决定, F 是目录也可以, 若 F 是一个包含图标的可执行文件(.exe), 快捷方式将使用 F 包含的第一个图标(索引为 0).
如果要在桌面之外的目录建立快捷方式, 将代码中的 strDesktop 变量设置成相应的目录路径即可, 也可采用参数传递来实现自由应用.
  1. @echo off
  2. (set att=%~a1)
  3. echo wscript.echo CreateObject("WScript.Shell").RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\desktop")>t~.vbs
  4. for /f "delims=" %%a in ('cscript //nologo t~.vbs') do set "mydesk=%%a"
  5. (set fnLnk=%~n1.lnk)&(set fnFull=%~f1)
  6. if exist "%mydesk%\%fnLnk%" msg %username% 快捷方式文件 %mydesk%\%fnLnk% 已经存在. 请先删除或重命名此文件再重试.
  7. (set fnFull=%fnFull:\=\\%)
  8. (set iconPath=%iconPath:\=\\%)
  9. (set vbsfn=%HomeDrive%\scuttemp.vbs)
  10. echo Set WshShell = Wscript.CreateObject("Wscript.Shell")>%vbsfn%
  11. echo ' 创建一个快捷方式对象,其在桌面上设置相同的名字>>%vbsfn%
  12. echo strDesktop = WshShell.SpecialFolders("Desktop")>>%vbsfn%
  13. echo Set oShellLink = WshShell.CreateShortcut(strDesktop ^& "\\%fnLnk%")>>%vbsfn%
  14. echo ' 设置快捷方式的执行路径>>%vbsfn%
  15. echo oShellLink.TargetPath = "%fnFull%">>%vbsfn%
  16. echo oShellLink.WindowStyle = 1              ' 运行方式>>%vbsfn%
  17. echo oShellLink.Hotkey = ""                  ' 设置快捷方式的快捷键>>%vbsfn%
  18. if /i "%att:~0,1%" equ "d" (
  19.   call :setDirIcon
  20.   echo oShellLink.TargetPath = "%SystemRoot%\explorer.exe">>%vbsfn%
  21.   echo oShellLink.Arguments = "%fnFull:\\=\%">>%vbsfn%
  22. )
  23. echo oShellLink.Description = "%~f1"         ' 设置快捷方式的描述>>%vbsfn%
  24. if /i "%att:~0,1%" neq "d" echo oShellLink.WorkingDirectory = "%~dp1"   ' 起始位置>>%vbsfn%
  25. echo oShellLink.Save>>%vbsfn%
  26. cscript //nologo %vbsfn%
  27. exit /b

  28. :setDirIcon
  29. echo oShellLink.IconLocation = "%SystemRoot%\system32\SHELL32.dll, 3"  ' 设置文件夹快捷方式的图标路径>>%vbsfn%
  30. exit /b
复制代码

[ 本帖最后由 neorobin 于 2009-12-8 05:11 编辑 ]
发表于 2009-12-8 12:24:45 | 显示全部楼层
好好的vbs摁是要搞成bat。。。

[手册]Windows 脚本技术
http://www.bathome.net/thread-1985-1-1.html

hh script56.chm::/html/wsObjWshShortcut.htm
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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