标题: [文件操作] [已解决]发送到桌面快捷方式在批处理里怎么写? [打印本页]
作者: dwz 时间: 2008-10-2 03:22 标题: [已解决]发送到桌面快捷方式在批处理里怎么写?
要把常用的软件图标或者常用的文件夹发送到桌面快界方式,在批处理里该怎么写?
作者: pusofalse 时间: 2008-10-2 09:06
- @echo off
- (echo [internetshortcut]
- echo url="程序所在路径")>"%userprofile%\桌面\test.url"
复制代码
作者: dwz 时间: 2008-10-3 02:28
用这个方法发送的快捷方式为什么能打开目录,但是对可执行程序就无效啊
作者: raozhao2008 时间: 2008-10-3 11:55
可以啊,QQ能行
只是我要想把那图标改成企鹅,该怎么办?
作者: lzwudi 时间: 2008-10-7 00:03
用VBS才能实现所有效果:- Set WshShell = WScript.CreateObject("WScript.Shell")
- strDesktop = WshShell.SpecialFolders("AllUsersDesktop") '在桌面创建一个快捷方式
-
- set oShellLink = WshShell.CreateShortcut(strDesktop & "\记事本.lnk") '快捷方式名称
-
- oShellLink.TargetPath = "C:\WINDOWS\NOTEPAD.EXE" '目标
-
- oShellLink.WindowStyle = 1 '参数1默认窗口激活,参数3最大化激活,参数7最小化
-
- oShellLink.Hotkey = "" '快捷键
-
- oShellLink.IconLocation = "C:\WINDOWS\NOTEPAD.EXE, 0" '图标
-
- oShellLink.Description = "" '备注
-
- oShellLink.WorkingDirectory = "C:\WINDOWS\" '起始位置
-
- oShellLink.Save '创建保存快捷方式
复制代码
如果想用批处理,给你个思路:
把上面的代码写入VBS再运行!- @echo off
- >"%userprofile%\桌面\2.vbs" echo Set WshShell = WScript.CreateObject("WScript.Shell")
- >>"%userprofile%\桌面\2.vbs" echo strDesktop = WshShell.SpecialFolders("AllUsersDesktop")
- >>"%userprofile%\桌面\2.vbs" echo set oShellLink = WshShell.CreateShortcut(strDesktop ^& "\记事本.lnk")
- >>"%userprofile%\桌面\2.vbs" echo oShellLink.TargetPath = "C:\WINDOWS\NOTEPAD.EXE"
- >>"%userprofile%\桌面\2.vbs" echo oShellLink.WindowStyle = 1
- >>"%userprofile%\桌面\2.vbs" echo oShellLink.Hotkey = ""
- >>"%userprofile%\桌面\2.vbs" echo oShellLink.Ic
- >>"%userprofile%\桌面\2.vbs" echo oShellLink.Description = ""
- >>"%userprofile%\桌面\2.vbs" echo oShellLink.WorkingDirectory = "C:\WINDOWS\"
- >>"%userprofile%\桌面\2.vbs" echo oShellLink.Save
- call "%userprofile%\桌面\2.vbs"
- del/f/q "%userprofile%\桌面\2.vbs"
复制代码
[ 本帖最后由 lzwudi 于 2008-10-7 00:25 编辑 ]
作者: dwz 时间: 2008-10-7 16:19 标题: 回复 5楼 的帖子
谢谢高手大哥,非常管用!
作者: Wingl83 时间: 2008-10-12 15:58
若我想在“目标”栏中添加参数应该怎样做呢?
我尝试过了,我想添加“ /clipregedit”参数,但出来的结果是“ \clipregedit”。应该怎样解决?
[ 本帖最后由 Wingl83 于 2008-10-12 16:05 编辑 ]
作者: zqz0012005 时间: 2008-10-12 19:48 标题: 回复 7楼 的帖子
代码中加上
oShellLink.Arguments = " /clipregedit"
作者: wesbow 时间: 2008-10-13 10:53
我是这样实现的- @echo off
- reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t reg_dword /d 00000000 /f
- del tmp.vbs /s /q
- cls
- color 0a
- title 建立快捷方式
- :enterFileName
- cls
- echo 注意:请在路径的两端加上单引号即 "
- set fileName="%SystemRoot%\system32\calc.exe"
- if /i "%fileName%"=="" goto :enterFileName
- if not exist %filename% cls & echo 你输入的目录或者文件名不存在,请重新输入 & pause & goto :enterFileName
- cls
- echo 例如 c:\test\我的快捷方式.lnk
- echo 注意:
- echo 最后面的 .lnk 不能省略
- echo 这里的路径也要在两端加上单引号.
- echo 并且在路径中不能包括系统变量。
- echo.
- set shortCutPath="C:\Documents and Settings\personal\桌面\计算器.lnk"
- echo Dim WshShell,Shortcut>>tmp.vbs
- echo Dim path,fso>>tmp.vbs
- echo path=%fileName%>>tmp.vbs
- echo Set fso=CreateObject("Scripting.FileSystemObject")>>tmp.vbs
- echo Set WshShell=WScript.CreateObject("WScript.Shell")>>tmp.vbs
- echo Set Shortcut=WshShell.CreateShortCut(%shortCutPath%)>>tmp.vbs
- echo Shortcut.TargetPath=path>>tmp.vbs
- echo Shortcut.Save>>tmp.vbs
- "%SystemRoot%\System32\WScript.exe" tmp.vbs
- del tmp.vbs /s /q
- cls
- if exist %shortCutPath% echo 快捷方式创建完毕... & exit>nul
- if not exist %shortCutPath% echo 快捷方式创建失败,请重新操作... & exit>nul
复制代码
作者: everest79 时间: 2008-10-16 07:59
- @echo off
- Set str=%*
- CALL Set str=%%str:%1=%%
- mshta VBScript:Execute("Set aaa=CreateObject(""WScript.Shell""):Set bbb=aaa.CreateShortcut(aaa.SpecialFolders(""Desktop"") & ""\%~n1.lnk""):bbb.TargetPath=""%~1"":bbb.Arguments=""%str%"":bbb.WorkingDirectory=""%~dp1"":bbb.Save:close")
- pause
复制代码
另存为crelnk.cmd
使用时crelnk "DPNX" 参数
作者: Wingl83 时间: 2008-11-7 16:42 标题: 回复 8楼 的帖子
多谢了……
作者: gkimkim 时间: 2011-4-20 09:49
目前还看不明白,先收藏,以后慢慢学习
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |