这里的问题是,在创建到批处理文件的符号链接后,该链接不会运行批处理文件。例子:
mklink x x.cmd
单击它会在记事本中x
打开!x.cmd
普通快捷方式(.lnk 文件)按预期工作。
> ftype cmdfile
cmdfile="%1" %*
> assoc .cmd
.cmd=cmdfile
所以每个 .cmd 文件都应该自己运行。
有解决办法吗?
这里的问题是,在创建到批处理文件的符号链接后,该链接不会运行批处理文件。例子:
mklink x x.cmd
单击它会在记事本中x
打开!x.cmd
普通快捷方式(.lnk 文件)按预期工作。
> ftype cmdfile
cmdfile="%1" %*
> assoc .cmd
.cmd=cmdfile
所以每个 .cmd 文件都应该自己运行。
有解决办法吗?
一种方法是建立硬链接(mklink /H)。但是因为我认为你只需要某种捷径,试试这个:
1)像这样(shortcut_helper.vbs)制作一个shell脚本*.vbs:
set WshShell = WScript.CreateObject("WScript.Shell" )
set oShellLink = WshShell.CreateShortcut(Wscript.Arguments.Named("shortcut") & ".lnk")
oShellLink.TargetPath = Wscript.Arguments.Named("target")
oShellLink.Arguments = Wscript.Arguments.Named("arg")
oShellLink.WindowStyle = 1
oShellLink.Save
2)让你的批处理脚本从一个批处理文件中像这样启动它:
path_to_vbs\shortcut_helper /target:"file_path\file.bat" /shortcut:"shortcut_name" /arg:"optional_arguments"
现在 2) 为您创建快捷方式 (*.lnk),然后您可以将它们移动到您喜欢的任何位置 =)
不过要小心,*.vbs 文件在某些情况下可能需要管理员权限。