中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 20:52
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 请问将一个程序的快捷方式发送到桌面如何写批处理?
可打印版本  1,759 / 9
第1楼 cnds 发表于 2008-12-04 10:08
初级用户 发帖 36 积分 37
请问将一个程序的快捷方式发送到桌面如何写批处理?
求大虾帮忙写一个批处理,要求首次进入系统时,删除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 ]
第2楼 HAT 发表于 2008-12-04 11:19
版主 发帖 5,017 积分 9,023
你准备用盗号软件替换QQ么?
第3楼 cnds 发表于 2008-12-04 11:31
初级用户 发帖 36 积分 37
不是啊。我封装了个系统,QQ用的是YLMF修改过的,但是系统安装完毕之后,用那个快捷方式打开的QQ,一动就死住,没法用。但是用腾讯的QQ.exe发送的快捷方式就没有问题。所以我想做个批处理,加入到GHO中。
第4楼 lianjiang2004 发表于 2008-12-04 12:04
金牌会员 发帖 1,884 积分 3,946
下面是我以前用过的。可参考
作用:用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
第5楼 cnds 发表于 2008-12-04 14:20
初级用户 发帖 36 积分 37
我写了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 ]
第6楼 cnds 发表于 2008-12-04 17:53
初级用户 发帖 36 积分 37
用这个批处理就可以了:
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 ]
第7楼 HAT 发表于 2008-12-04 17:57
版主 发帖 5,017 积分 9,023
Re 6楼
在b里面删a不行么?
第8楼 cnds 发表于 2008-12-04 20:39
初级用户 发帖 36 积分 37
不可以。运行b.bat之后,执行call %windir%\a.bat,但是执行完a.bat后,程序回不到b.bat来了。
第9楼 wuxj 发表于 2008-12-04 21:34
初级用户 发帖 25 积分 50
我认为你事先做好快捷方式复制过去会是最简单的方法。
第10楼 cnds 发表于 2008-12-04 21:38
初级用户 发帖 36 积分 37
建立快捷方式是问题的根源。只要实现这点,其他相对好解决。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023