Board logo

标题: [求教]如何用批处理实现发送一个文件的快捷方式至桌面 [打印本页]

作者: 148373805     时间: 2007-7-13 23:28    标题: [求教]如何用批处理实现发送一个文件的快捷方式至桌面

如题
作者: bjsh     时间: 2007-7-14 00:29
搜索
作者: heicai     时间: 2007-7-14 18:01
批处理配合用Shortcut这个外置小工具就可以
CODE:  [Copy to clipboard]
SHORTCUT.EXE -f -t %systemroot%\system32\notepad.exe -n "%USERPROFILE%\桌面"\记事本 -d "%USERPROFILE%"

作者: yywd     时间: 2007-7-14 19:31
用vbs,可发送一个文件的快捷方式至任何位置
作者: sonicandy     时间: 2007-7-14 22:21    标题: 给你个例子

CODE:  [Copy to clipboard]
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("目录[" & objDir.Name & "]的快捷方式创建成功!")
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

作者: netwinxp     时间: 2007-7-26 13:43
由于.LNK不是文本文件,不那么直观,我们可以借用.URL来实现快捷方式。
下面我们以记事本为例:
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 下面是.URL的格式
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [InternetShortcut]
:: 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 [InternetShortcut]>%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 ]




欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) Powered by Discuz! 2.5