如何使用批处理脚本创建快捷方式?[重复]


Answers:


22

您可以通过创建临时VBScript来实现,而无需外部工具:

@echo off

set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"

echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
echo sLinkFile = "%USERPROFILE%\Desktop\myshortcut.lnk" >> %SCRIPT%
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
echo oLink.TargetPath = "D:\myfile.extension" >> %SCRIPT%
echo oLink.Save >> %SCRIPT%

cscript /nologo %SCRIPT%
del %SCRIPT%

(从这里获取的想法。)

这将myshortcut.lnk在桌面上创建,指向D:\myfile.extension

您可以通过修改以下值在保存链接之前提供其他属性:

oLink.Arguments
oLink.Description
oLink.HotKey
oLink.IconLocation
oLink.WindowStyle
oLink.WorkingDirectory

请参阅如何使用Windows脚本宿主创建桌面快捷方式,以查看一些示例。


批处理脚本不可能吗?(除了生成您建议的vb并执行之外)
industryworker3595112

有没有办法AppUserModelId使用此方法进行设置?
JacobTheDev

15
@echo off
echo [InternetShortcut] >> "%AllUsersProfile%\desktop\NOTEPAD.url"
echo URL="C:\WINDOWS\NOTEPAD.EXE" >> "%AllUsersProfile%\desktop\NOTEPAD.url"
echo IconFile=C:\WINDOWS\system32\SHELL32.dll >> "%AllUsersProfile%\desktop\NOTEPAD.url"
echo IconIndex=20 >> "%AllUsersProfile%\desktop\NOTEPAD.url"

这段代码在名为NOTEPAD.url的“所有用户”桌面文件夹中创建一个指向NotePad应用程序的快捷方式,还将从SHELL32.dll中分配一个图标。将路径和文件名更改为D:/位置和exename。并确保您的.url文件名在所有代码行中均保持不变。


1
好主意。只要您不必提供任何参数,就可以很好地工作。
丹尼斯2012年

谁不赞成我的答案?它确实满足了海报的要求...
Logman 2014年

1
有人否决了问题和所有答案(链接)。
丹尼斯

5

有外部命令shortcut.exe可以通过这种方式执行此操作:

shortcut /a:c /f:"c:\users\me\desktop\myshortcut.lnk" /t:"c:\program files\skype\skype.exe"

可以在桌面上创建Skype的快捷方式

它是免费的可下载程序,但是我找不到它的链接,所以我将尝试上传它并发布链接


这是

Marty List的shortcut.exe


不,我不知道微软的资源工具包中是否有实用程序。我目前正以最佳x替代品使用它
冒险家
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.