通过批处理文件 (.bat) 创建 Windows 快捷方式

通过批处理文件 (.bat) 创建 Windows 快捷方式

是否可以使用批处理脚本从 .exe 创建快捷方式?

答案1

只使用批处理?可能不行,除非你只是将快捷方式从“开始”菜单复制到其他地方。我们在构建/改进最新的部署流程时遇到了这个问题,某些团队希望快捷方式一切在他们的桌面上。

Windows NT Resource Kit 中有一个名为的实用程序shortcut.exe可以执行此操作。我从未在 XP/2003/2008 上测试过它。

如果你可以使用 VBS,那么这个可以工作:

Set oWS = WScript.CreateObject("WScript.Shell")
sLinkFile = "C:\MyShortcut.LNK"
Set oLink = oWS.CreateShortcut(sLinkFile)

oLink.TargetPath = "C:\Program Files\MyApp\MyProgram.EXE"
' optional shortcut properties
' oLink.Arguments = ""
' oLink.Description = "MyProgram"
' oLink.HotKey = "ALT+CTRL+F"
' oLink.IconLocation = "C:\Program Files\MyApp\MyProgram.EXE, 2"
' oLink.WindowStyle = "1"
' oLink.WorkingDirectory = "C:\Program Files\MyApp"
oLink.Save

来源

答案2

是的,可以创建快捷方式,有点像...您可以创建一个 .url 文件,其工作方式与快捷方式 (.lnk) 文件一样,至少从 Windows 98 到当前的 Windows 7。实际上用于 Windows 收藏夹书签的 .url 文件是一个简单的文本文件,它引用了一个 url 和一些其他信息。以下是从批处理文件创建它的简单示例:

@echo off
echo [InternetShortcut] >> Explorer.url
echo URL=C:\WINDOWS\EXPLORER.EXE >> Explorer.url
echo IconFile=C:\WINDOWS\EXPLORER.EXE >> Explorer.url
echo IconIndex=0 >> Explorer.url

这将导致创建一个名为 Explorer.url 的文件,其中包含以下内容:

[InternetShortcut]
URL=C:\WINDOWS\EXPLORER.EXE
IconFile=C:\WINDOWS\EXPLORER.EXE
IconIndex=0

双击它将像快捷方式一样运行该程序。

答案3

我认为没有办法直接从批处理文件创建批处理文件,也许你可以从 bat 中写入 Windows 注册表,或者如果你不想在这项工作中使用第三方应用程序,你可以下载 Shortcut.exe (www.optimumx.com) 并在 bat 中调用它。shortcut.exe /f:"%AllUsersProfile%\desktop\ShortcutName.pif" /a:c /t:folder:\MyApp ... i/image.icon.....

答案4

您是否考虑过使用符号链接?这可能是您能找到的最接近的替代方案。1. 只有管理员才能创建符号链接。2. 需要 VISTA 或更高版本的操作系统和 NTFS。

用于创建它们的实用程序是内置的:MKLINK.exe 和/或 LINKD.exe,并且可以轻松地在批处理文件中编写脚本。

相关内容