首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Windows中通过命令行创建快捷方式?

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

Stack Overflow用户
提问于 2015-05-04 11:13:12
回答 10查看 237.3K关注 0票数 58

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

我已经编写了这行代码来复制文件,但是我还没有找到创建上述快捷方式的方法,因为您可以看到它只复制脚本。

代码语言:javascript
运行
复制
xcopy "C:\Users\Gabriel\Desktop\test.bat" "C:\Users\Gabriel\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"

你能帮帮我吗?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2015-05-04 12:16:18

您可以使用PowerShell命令。将其放入批处理脚本中,它将在%~f0中创建一个%userprofile%\Start Menu\Programs\Startup快捷方式

代码语言:javascript
运行
复制
powershell "$s=(New-Object -COM WScript.Shell).CreateShortcut('%userprofile%\Start Menu\Programs\Startup\%~n0.lnk');$s.TargetPath='%~f0';$s.Save()"

如果您不喜欢使用PowerShell,则可以使用mklink创建一个符号链接。语法:

代码语言:javascript
运行
复制
mklink saveShortcutAs targetOfShortcut

有关完整语法,请参见控制台窗口中的mklink /?,更多信息请参见这个网页

在批处理脚本中,请执行以下操作:

代码语言:javascript
运行
复制
mklink "%userprofile%\Start Menu\Programs\Startup\%~nx0" "%~f0"

创建的快捷方式不是传统的.lnk文件,但它的工作方式应该是相同的。请注意,只有当.bat文件从与启动文件夹相同的驱动器运行时才能工作。而且,很明显,创建符号链接需要管理员权限。

票数 70
EN

Stack Overflow用户

发布于 2016-01-28 00:01:31

罗希特·萨胡的回答在Windows10中对我最有效。PowerShell解决方案运行,但没有捷径出现。JScript解决方案给了我语法错误。我没有尝试mklink,因为我不想弄乱权限。

我希望快捷方式出现在桌面上。但我也需要设置图标、描述和工作目录。注意,MyApp48.bmp是一个48x48像素的图像。这是我的解决方案:

代码语言:javascript
运行
复制
@echo off
cd c:\MyApp
echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs
echo sLinkFile = "%userprofile%\Desktop\MyApp.lnk" >> CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> CreateShortcut.vbs
echo oLink.TargetPath = "C:\MyApp\MyApp.bat" >> CreateShortcut.vbs
echo oLink.WorkingDirectory = "C:\MyApp" >> CreateShortcut.vbs
echo oLink.Description = "My Application" >> CreateShortcut.vbs
echo oLink.IconLocation = "C:\MyApp\MyApp48.bmp" >> CreateShortcut.vbs
echo oLink.Save >> CreateShortcut.vbs
cscript CreateShortcut.vbs
del CreateShortcut.vbs
票数 11
EN

Stack Overflow用户

发布于 2016-01-25 11:58:13

最好的方法是运行这个批处理文件。打开记事本并键入:-

代码语言:javascript
运行
复制
@echo off
echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs
echo sLinkFile = "GIVETHEPATHOFLINK.lnk" >> CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> CreateShortcut.vbs
echo oLink.TargetPath = "GIVETHEPATHOFTARGETFILEYOUWANTTHESHORTCUT" >> CreateShortcut.vbs
echo oLink.Save >> CreateShortcut.vbs
cscript CreateShortcut.vbs
del CreateShortcut.vbs

保存为filename.bat(保存时要小心,选择所有文件类型)在win XP中运行良好。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30028709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档