​​Windows​​ 批处理创建当前目录程序快捷方式到桌面

我需要实现从这个文件夹中双击脚本,在桌面创建 ​​Chrome​​​ 的快捷方式到桌面,并通过修改参数指定它的用户目录 ​​--user-data-dir=UserData​

Windows 批处理创建当前目录程序快捷方式到桌面_chrome

一、实现

Windows 创建快捷方式到桌面需要用到 ​​WScript​​ 最终实现的代码是这样

二、WScript

Set oWS = WScript.CreateObject("WScript.Shell") 
sLinkFile = "C:\Users\Administrator\Desktop\Chrome-v72.lnk"
Set oLink = oWS.CreateShortcut(sLinkFile)
oLink.TargetPath = "D:\mysoft\Chrome\Chrome.exe"
oLink.Arguments = "--user-data-dir=D:\mysoft\Chrome\UserData"
oLink.Save

上面的 ​​TargePath​​​ 是程序路径, ​​Arguments​​​ 是传递给快捷方式的参数
这两个值都有可能是带空格的,就需要用双引号包裹。

三、用 cmd 生成 WScript 并执行

我们需要从 bat 脚本中生成上面的 WScript 脚本并执行它,在生成的过程中,就可以把当前的目录写到脚本中

@echo off
echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs
echo sLinkFile = "%HOMEDRIVE%%HOMEPATH%\Desktop\Chrome-v72.lnk" >> CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> CreateShortcut.vbs
echo oLink.TargetPath = "%~dp0Chrome.exe" >> CreateShortcut.vbs
echo oLink.Arguments = "--user-data-dir=""%~dp0UserData""" >> CreateShortcut.vbs
echo oLink.Save >> CreateShortcut.vbs
cscript CreateShortcut.vbs

四、结果

最终成功创建快捷方式

Windows 批处理创建当前目录程序快捷方式到桌面_chrome_02