中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-05 11:30
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求教]如何用批处理实现发送一个文件的快捷方式至桌面 查看 1,182 回复 5
楼 主 [求教]如何用批处理实现发送一个文件的快捷方式至桌面 发表于 2007-07-13 23:28 ·  中国 浙江 杭州 电信
新手上路
积分 4
发帖 1
注册 2007-07-13 23:05
19年会员
UID 93916
性别 男
状态 离线
如题
2 发表于 2007-07-14 00:29 ·  中国 浙江 杭州 电信
银牌会员
★★★
积分 2,000
发帖 621
注册 2007-01-01 00:00
19年会员
UID 75212
性别 男
状态 离线
搜索
3 发表于 2007-07-14 18:01 ·  中国 浙江 宁波 电信
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
批处理配合用Shortcut这个外置小工具就可以

SHORTCUT.EXE -f -t %systemroot%\system32\notepad.exe -n "%USERPROFILE%\桌面"\记事本 -d "%USERPROFILE%"
4 发表于 2007-07-14 19:31 ·  中国 广东 深圳 宝安区 电信
中级用户
★★
积分 358
发帖 130
注册 2005-11-12 16:29
20年会员
UID 45117
状态 离线
用vbs,可发送一个文件的快捷方式至任何位置
5 给你个例子 发表于 2007-07-14 22:21 ·  中国 北京 利达宽带
中级用户
★★
积分 273
发帖 91
注册 2007-05-07 18:12
19年会员
UID 87770
性别 男
状态 离线
Option Explicit
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
' AddDir2SendTo v1.0
' 脚本功能: 为任意目录在SendTo中创建快捷方式
' 安装方法: 直接双击文件,本脚本会自动安装
' 使用方法: 安装后会在右键的发送到菜单中出现
' "自定义目录"和"添加目录"选项,在文件夹上点右键
' 选择"添加目录"将快捷方式添加到自定义目录中,
' 以后任何文件都可以发送到这个目录了,很方便吧:)
' 作者: sonic_andy
' 修改日期: 2006.10.28

Dim objShell,objFSO,objFile,objDir,objShellLink,strTargetDir

'创建wscript的shell和FileSystemObject对象
Set objShell = CreateObject("Wscript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
'定义快捷方式创建的目标文件夹
strTargetDir = objShell.SpecialFolders("SendTo") & "自定义目录"
'若参数为空,则安装脚本到系统
If Wscript.Arguments.count=0 Then setup
'参数是否符合标准
If Not objFSO.FolderExists(Wscript.Arguments(0)) Then
MsgBox("指定的对象必须是目录!")
Wscript.quit
End If
'将参数作为目录名创建文件对象
Set objDir = objFSO.GetFolder(Wscript.Arguments(0))
'调用过程添加快捷方式
addLink strTargetDir & "" & objDir.Name & ".lnk",objDir.Path,objDir.Name,""
MsgBox("目录的快捷方式创建成功!")
Wscript.quit

'''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 过程:安装脚本
Sub setup ( )
Set objFile = objFSO.GetFile(Wscript.ScriptFullName)
'将脚本文件的快捷方式创建到sendto目录下
addLink objShell.SpecialFolders("SendTo") & "添加目录.lnk",objFile.Path,"添加目录",objFile.ParentFolder
'在sendto目录中建立'自定义目录'文件夹
If Not objFSO.FolderExists(strTargetDir) Then
objFSO.CreateFolder(strTargetDir)
End If
MsgBox "安装成功!"
Wscript.quit
End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 过程:添加快捷方式
Sub addLink (strLinkfile, strTargetpath, strDescription, strWorkdir)
'创建一个指定路径(包含文件名)的快捷方式
Set objShellLink = objShell.CreateShortcut(strLinkfile)
'设置目标路径
objShellLink.TargetPath = strTargetpath
'设置快捷方式描述
objShellLink.Description = strDescription
'设置工作目录
objShellLink.WorkingDirectory = strWorkdir
'保存快捷方式
objShellLink.Save
End Sub
6 发表于 2007-07-26 13:43 ·  中国 福建 厦门 电信
高级用户
★★★
积分 741
发帖 366
注册 2007-07-25 19:11
19年会员
UID 94024
性别 男
状态 离线
由于.LNK不是文本文件,不那么直观,我们可以借用.URL来实现快捷方式。
下面我们以记事本为例:
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 下面是.URL的格式
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: URL="%SystemRoot%\System32\notepad.exe"
:: WorkingDirectory="%UserProfile%\桌面"
:: IconFile="%SystemRoot%\System32\notepad.exe"
:: IconIndex=0 0是管道符要用^转义
:: HotKey=1601(Ctrl+Alt+A)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
SET link="%UserProfile%\桌面\记事本编辑器.url"
ECHO >%link%
ECHO URL="%SystemRoot%\System32\notepad.exe">>%link%
ECHO WorkingDirectory="%UserProfile%\桌面">>%link%
ECHO IconFile="%SystemRoot%\System32\notepad.exe">>%link%
ECHO IconIndex=^0>>%link%
ECHO HotKey=1601>>%link%

BTW格式自由明了:D
开始菜单:%UserProfile%\「开始」菜单\程序
快速栏:%AppData%\Microsoft\Internet Explorer\Quick Launch
英文版系统的桌面:%UserProfile%\Desktop
英文版系统的开始菜单:%UserProfile%\StartMenu

[ Last edited by netwinxp on 2007-7-26 at 02:03 PM ]
论坛跳转: