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

ebi*_*ose 30 windows shortcuts batch command-line

如何D:\myfile.extension使用批处理脚本在桌面上创建文件的快捷方式?

Den*_*nis 31

您可以在没有外部工具的情况下通过创建临时 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%
Run Code Online (Sandbox Code Playgroud)

(想法取自此处。)

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

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

oLink.Arguments
oLink.Description
oLink.HotKey
oLink.IconLocation
oLink.WindowStyle
oLink.WorkingDirectory
Run Code Online (Sandbox Code Playgroud)

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

  • 请注意,可以修改它以使用相对路径(如果这是通过脚本完成的,则很可能)。 `sLinkFile` 可以是相对路径(例如,只需提供“myshortcut.lnk”即可将其放在当前目录中)。可以通过指定`oLink.TargetPath = "%cd%\folder\target.exe"`来设置相对于当前目录的目标文件。 (2认同)

Log*_*man 17

@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"
Run Code Online (Sandbox Code Playgroud)

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


adv*_*rer 5

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

shortcut /a:c /f:"c:\users\me\desktop\myshortcut.lnk" /t:"c:\program files\skype\skype.exe"
Run Code Online (Sandbox Code Playgroud)

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

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


这是

马蒂列表的shortcut.exe