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


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.