0

如何在,包括使用的参数,(并且没有

我想在链接到Desktop的链接上创建一个带有参数的链接:OpenVPN"C:\Program Files\OpenVPN\bin\openvpn-gui.exe"--connect client.ovpn

所以我尝试了:

  1. cd %homepath%\Desktop && mklink "OpenVPN GUI" "C:\Program Files\OpenVPN\bin\openvpn-gui.exe --connect client.ovpn"
    FAILED -> 符号链接已创建但无法指向.exe.

  2. cd %homepath%\Desktop && mklink "OpenVPN GUI" ""C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect client.ovpn"
    FAILED -> 显然是语法错误。

  3. 尝试使用转义字符^\cd %homepath%\Desktop && mklink "OpenVPN GUI" "^"C:\Program Files\OpenVPN\bin\openvpn-gui.exe^" --connect client.ovpn"
    失败。

  4. 我试图设置一个变量set patharglink="C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect client.ovpn,并使用它,mklink "OpenVPN GUI" %patharglink%
    失败了。

知道如何解决这个问题吗?

4

2 回答 2

1

这是一个完整的,用于创建您需要的快捷方式,而不是符号链接

;@If Not Exist "%UserProfile%\Desktop\OpenVPN.lnk" (
;   "%__AppDir__%rundll32.exe" advpack.dll,LaunchINFSection "%~0",,1)
;@GoTo :EOF
[Version]
Signature="$Windows NT$"
[DefaultInstall]
ProfileItems=AddLnk
[AddLnk]
Name="OpenVPN",8,16
CmdLine=16422,"OpenVPN\bin\openvpn-gui.exe"," --connect client.ovpn"
InfoTip="Connect OpenVPN using client config file"
WorkingDir=0

只需将以上内容另存为OVPNLink.cmd并双击它!

于 2020-03-19T22:20:43.663 回答
1

我找到了一种使用参数创建快捷方式(不是符号链接,正如其他人指出的那样)的方法,主要是通过这个线程

想法是调用一个VB脚本,因为快捷方式有一个简单的实现:

:: make sure the linkpath exists:
if not exist "%linkpath%" md "%linkpath%"

:: create temporary VBScript ...
echo Set objShell=WScript.CreateObject("Wscript.Shell")>%temp%\MakeShortCut.vbs
echo Set objShortcut=objShell.CreateShortcut("%linkpath%\%linkname%.lnk")>>%temp%\MakeShortCut.vbs
echo objShortcut.TargetPath="%progpath%\%progexe%.exe">>%temp%\MakeShortCut.vbs
echo objShortcut.Arguments="%arguments%">>%temp%\MakeShortCut.vbs
echo objShortcut.Description="%description%">>%temp%\MakeShortCut.vbs
echo objShortcut.WorkingDirectory="%progpath%">>%temp%\MakeShortCut.vbs
echo objShortcut.Save>>%temp%\MakeShortCut.vbs

::... run it ...
cscript //nologo %temp%\MakeShortCut.vbs

::... and delete it.
del %temp%\MakeShortCut.vbs

因此,您需要在运行这些行之前设置以下变量:

  • %linkpath%是创建快捷方式的路径
  • %linkname%是快捷方式的名称
  • %progpath%是可执行文件的路径
  • %progname%是您的可执行文件的名称
  • %arguments%
  • %description%

%temp%是不用设置的,是环境变量

注意: 我从我正在使用的代码中稍微修改了该代码,因为我在我的代码中有一个特定的用途,并且没有测试我是否在这里打错了。如果有人使用它并且它有效,请随时删除此注释

于 2020-03-31T15:53:37.180 回答