如何在Windows中通过命令行创建一个快捷方式?

59

我希望我的 .bat 脚本(test.bat)可以创建一个指向它自己的快捷方式,这样我就可以将它复制到 Windows 8 的启动文件夹中。

我编写了以下代码来复制文件,但我还没有找到创建所需快捷方式的方法,正如你所看到的它只是复制了脚本本身。

xcopy "C:\Users\Gabriel\Desktop\test.bat" "C:\Users\Gabriel\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"

你能帮助我吗?


1
http://superuser.com/a/455398/48092 - Aivar
14
我绝对震惊了,无法想象为什么不能从命令行轻松地创建一个快捷方式。 - gunslingor
11个回答

0
基于Rohit的答案,我创建了这个批处理脚本,它接受输入参数:AppPathAppNameAppExtensionShortcutDestinationPath

MakeShortcut.bat:

@echo off

set AppPath=%~1
set AppName=%~2
set AppExtension=%~3
set ShortcutDestinationPath=%~4

cd %AppPath%
echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs
echo sLinkFile = "%ShortcutDestinationPath%\%AppName%.lnk" >> CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> CreateShortcut.vbs
echo oLink.TargetPath = "%AppPath%\%AppName%.%AppExtension%" >> CreateShortcut.vbs
echo oLink.WorkingDirectory = "%AppPath%" >> CreateShortcut.vbs
echo oLink.Description = "%AppName%" >> CreateShortcut.vbs
echo oLink.IconLocation = "%AppPath%\%AppName%.bmp" >> CreateShortcut.vbs
echo oLink.Save >> CreateShortcut.vbs
cscript CreateShortcut.vbs
rem del CreateShortcut.vbs

创建一个快捷方式到文件夹C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp,指向C:\Apps\MyApp.exe的示例用法:

MakeShortcut.bat "C:\Apps" "MyApp" "exe" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接