中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请问将一个程序的快捷方式发送到桌面如何写批处理?
作者:
标题: 请问将一个程序的快捷方式发送到桌面如何写批处理? 上一主题 | 下一主题
cnds
初级用户





积分 37
发帖 36
注册 2008-12-2
状态 离线
『楼 主』:  请问将一个程序的快捷方式发送到桌面如何写批处理?

求大虾帮忙写一个批处理,要求首次进入系统时,删除C:\Documents and Settings\Administrator\桌面\腾讯QQ,然后将:D:\Backup\QQ\QQ.exe的快捷方式发送到桌面上,之后将快捷方式修改成“腾讯QQ”,最后是删除批处理本身。
        删除批处理文件本身,用del %0可以做到,但是 del C:\Documents and Settings\Administrator\桌面\腾讯QQ不行,用系统变量也不行,郁闷了。另外将D:\Backup\QQ\QQ.exe的快捷方式发送到桌面,这个就更难了。希望大侠不吝赐教。

[ Last edited by cnds on 2008-12-4 at 10:13 ]

2008-12-4 10:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

你准备用盗号软件替换QQ么?

   此帖被 +1 点积分    点击查看详情   
评分人:【 moniuming 分数: +1  时间:2008-12-4 13:46




2008-12-4 11:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
cnds
初级用户





积分 37
发帖 36
注册 2008-12-2
状态 离线
『第 3 楼』:  

不是啊。我封装了个系统,QQ用的是YLMF修改过的,但是系统安装完毕之后,用那个快捷方式打开的QQ,一动就死住,没法用。但是用腾讯的QQ.exe发送的快捷方式就没有问题。所以我想做个批处理,加入到GHO中。

2008-12-4 11:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 4 楼』:  

下面是我以前用过的。可参考
作用:用shortcut.exe把指定目录(d:\ggho)下的gghost.exe在桌面上创建一个“GGhost一键恢复”的快捷键。工作目录为指定的目录。

set ggpath0=d:\ggho
%ggpath0%\tools\shortcut.exe /f:"%userprofile%"\桌面\GGhost一键恢复.lnk  /a:c /w:%ggpath0%\ /t:%ggpath0%\gghost.exe >nul



Windows 一键还原
http://www.yjhy.com
2008-12-4 12:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
cnds
初级用户





积分 37
发帖 36
注册 2008-12-2
状态 离线
『第 5 楼』:  

我写了2个批处理a和b,b放到启动里,a放在%windir%里,启动b之后,会去执行a,但是执行完a之后,程序就结束了,按照设计,执行完a之后,应该再跳回到到b,执行剩余的语句。但是,我不知道怎么弄连接回到b,“C:\Documents and Settings\Administrator\「开始」菜单\程序\启动”的系统变量不会搞。达人指点。
a:

Sub bat
echo off & cls
echo create_shortcut
start wscript -e:vbs "%~f0"
Exit Sub
End Sub


Set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
set oShellLink = WshShell.CreateShortcut(strDesktop & "\QQ.lnk")
oShellLink.TargetPath = "D:\backup\QQ.exe"
oShellLink.WindowStyle = 3
oShellLink.Hotkey = ""
oShellLink.IconLocation = "D:\backup\QQ.exe, 0"
oShellLink.Description = "快捷方式"
oShellLink.WorkingDirectory = "D:\backup\QQ.exe"
oShellLink.Save

b:

call %windir%\a.bat
del C:\Docume~1\Administrator\桌面\腾讯QQ.lnk  
ren C:\Docume~1\Administrator\桌面\qq.lnk 腾讯QQ.lnk
del %windir%\a.bat
del %0

a.bat用于把d:\backup\qq\qq.exe的快捷方式发送桌面,这个功能已经实现。我试图在a.bat中,加入call C:\Docume~1\Administrator\「开始」菜单\程序\启动\b.bat,用于实现执行完a.bat后,跳回到b.bat,但是提示缺少语句。大侠帮忙。

[ Last edited by cnds on 2008-12-4 at 14:23 ]

2008-12-4 14:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cnds
初级用户





积分 37
发帖 36
注册 2008-12-2
状态 离线
『第 6 楼』:  

用这个批处理就可以了:
code:
Sub bat
echo off & cls
echo create_shortcut
start wscript -e:vbs "%~f0"
Exit Sub
End Sub

Set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
set oShellLink = WshShell.CreateShortcut(strDesktop & "\腾讯QQ.lnk")
oShellLink.TargetPath = "D:\backup\QQ.exe"
oShellLink.WindowStyle = 3
oShellLink.Hotkey = ""
oShellLink.IconLocation = "D:\backup\QQ.exe, 0"
oShellLink.Description = "快捷方式"
oShellLink.WorkingDirectory = "D:\backup\QQ.exe"
oShellLink.Save

功能是实现了,但是不知道怎么样删除自身,高手请指教。

[ Last edited by cnds on 2008-12-4 at 17:55 ]

2008-12-4 17:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 7 楼』:  Re 6楼

在b里面删a不行么?



2008-12-4 17:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
cnds
初级用户





积分 37
发帖 36
注册 2008-12-2
状态 离线
『第 8 楼』:  

不可以。运行b.bat之后,执行call %windir%\a.bat,但是执行完a.bat后,程序回不到b.bat来了。

2008-12-4 20:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wuxj
初级用户





积分 50
发帖 25
注册 2007-3-29
状态 离线
『第 9 楼』:  

我认为你事先做好快捷方式复制过去会是最简单的方法。

2008-12-4 21:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cnds
初级用户





积分 37
发帖 36
注册 2008-12-2
状态 离线
『第 10 楼』:  

建立快捷方式是问题的根源。只要实现这点,其他相对好解决。

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

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


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



论坛跳转: