中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何添加个“发送到桌面快捷方式”的右键
作者:
标题: 如何添加个“发送到桌面快捷方式”的右键 上一主题 | 下一主题
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『楼 主』:  如何添加个“发送到桌面快捷方式”的右键

系统里的“发送到”实在让人受不了,要几秒才显示出发送到菜单

想在右键加个菜单---发送到桌面快捷方式
·  如果是文件,创建的快捷方式最好不带扩展名
·  能针对多个文件
·  最好不要闪cmd窗口
·  利用其他工具也行,如shortcut、nircmd

2008-4-14 21:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  DesktopLink.vbs---By Slore

引用的就不算我说话了~郁闷~~~打空格也不行。。。

  Quote:

'-----------------DesktopLink.vbs---By Slore At 2008-04-15------------------
'
'脚本说明:
'放到任意目录,双击即可安装/卸载。
'欢迎您的测试以及给我提供宝贵意见。
'如果你喜欢,请随意转载,但请勿随意修改。
'                                      http://bbs.cn-dos.net
'
'意见反馈:1.论坛消息
'         2.email:slorelee@yahoo.com.cn
'---------------------------------------------------------转载请保留我:)----
Dim strArg,strDesktop,strBsname
Set objShell = WScript.CreateObject("WScript.Shell")
ArgCount = wscript.Arguments.Count
If ArgCount = 0 Then
   
strArg = "在右键添加一个发送到桌面快捷方式选项:" & vbCrLf
   
ret = MsgBox( strArg & "是[安装] 否[卸载] 取消[终止]",67,"By Slore")
   
strArg = "HKCR\AllFilesystemObjects\Shell\Slore\"
    If ret = 6 Then
        
strCommand = "Wscript.exe """ & WScript.ScriptFullName & """ ""%1"""
        objShell.RegWrite strArg,"桌面快捷方式(&L)"
        objShell.RegWrite strArg & "Command\", strCommand
        MsgBox "菜单已添加成功!..o(∩_∩)o..",64,"By Slore"
    ElseIf ret = 7 Then
        
objShell.RegDelete strArg & "Command\"
        objShell.RegDelete strArg
        MsgBox "该菜单已删除!",64,"By Slore"
    End If
   
wscript.Quit
End If

Set
objFSO = CreateObject("Scripting.FileSystemObject")
strDesktop = objShell.SpecialFolders("Desktop")
For i = 0 To ArgCount - 1
    strArg = wscript.arguments.item(i)
   
strBsname = objFSO.GetBaseName(strArg)
   
strTarget = strDesktop & "\" & strBsname
    If Not CST(strTarget,".lnk") Then CST strTarget,".pif"
Next

Function
CST(strPath,strExt)
   
n = 1:CST = True
    on Error Resume Next
    Do While
objFSO.FileExists(strPath & strExt)
        
n = n + 1
        strTarget = strDesktop & "\" & strBsname & " (" & n & ")"
    Loop
    Set
oShellLink = objShell.CreateShortcut(strPath & ".lnk")
   
oShellLink.TargetPath = strArg
    oShellLink.WorkingDirectory = objFSO.GetParentFolderName(strArg)
   
oShellLink.Save
    If Err Then Err.Clear:CST = False
End Function

Set
oShellLink = Nothing
Set
objShell = Nothing
Set
objFSO = Nothing



2008-4-15 03:07
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 3 楼』:  

谢谢slore,很不错。就是创建多个快捷方式有点慢,能像系统的那样快就好了

2008-4-15 08:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 4 楼』:  

2 楼的可以在选定多个文件后创建多个快捷方式

[ Last edited by zh159 on 2008-4-15 at 09:53 AM ]



2008-4-15 09:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by tireless at 2008-4-15 08:11:
谢谢slore,很不错。就是创建多个快捷方式有点慢,能像系统的那样快就好了

已经尽量了。但是知识还是不够。。。
调用系统的那个DESKLINK,但是是 CLSID那种……
这个其实选多个,也没有进循环。。。

是每个文件调用一次DESKLINK.VBS,所以……选的越多越卡,会一下运行n个wscript...


所以如果是多个还是SENDTO下吧

PS:我这里的SENDTO显示很快呀~~~你是不是里面项目太多了?

2008-4-15 12:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by slore at 2008-4-14 04:48 PM:


PS:我这里的SENDTO显示很快呀~~~你是不是里面项目太多了?

不,即使只留下一个“桌面快捷方式”,那菜单的显示速度也让我很郁闷。。。

用shortcut或nircmd应该比较快,怎么用?

2008-4-15 20:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sylovanas
初级用户





积分 107
发帖 42
注册 2007-9-3
状态 离线
『第 7 楼』:  

1.bat内容

@echo off
if exist %temp%\1.txt del 1.txt /q >nul 2>nul
for %%a in (%*) do echo shortcut "%%~a" "~$folder.desktop$" "%%~na">>%Temp%\1.txt
nircmd script %temp%\1.txt

加入右键选单的内容

nircmd execmd 1.bat %*

[ Last edited by sylovanas on 2008-4-15 at 09:00 PM ]

2008-4-15 20:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: