Windows mklink:symlink到批处理文件未运行批处理文件
这里的问题是,在创建到批处理文件的符号链接后,该链接不会运行批处理文件。例如:Windows mklink:symlink到批处理文件未运行批处理文件,windows,batch-file,cmd,mklink,Windows,Batch File,Cmd,Mklink,这里的问题是,在创建到批处理文件的符号链接后,该链接不会运行批处理文件。例如: mklink x x.cmd 当点击x时,它会在记事本中打开x.cmd!普通快捷方式(.lnk文件)按预期工作 > ftype cmdfile cmdfile="%1" %* > assoc .cmd .cmd=cmdfile 因此每个.cmd文件都应该自己运行 有解决方案吗?一种方法是建立硬链接(mklink/H)。但既然我认为你只是需要某种捷径,那就试试这个: 1) 制作一个shell脚本*.vb
mklink x x.cmd
当点击x
时,它会在记事本中打开x.cmd
!普通快捷方式(.lnk文件)按预期工作
> ftype cmdfile
cmdfile="%1" %*
> assoc .cmd
.cmd=cmdfile
因此每个.cmd文件都应该自己运行
有解决方案吗?一种方法是建立硬链接(mklink/H)。但既然我认为你只是需要某种捷径,那就试试这个: 1) 制作一个shell脚本*.vbs,如下所示(快捷方式\u helper.vbs): 2) 使批处理脚本从批处理文件开始,如下所示:
path_to_vbs\shortcut_helper /target:"file_path\file.bat" /shortcut:"shortcut_name" /arg:"optional_arguments"
现在2)为您创建快捷方式(*.lnk),然后您可以将其移动到您喜欢的任何位置=)
但是要小心,*.vbs文件在某些情况下可能需要管理员权限。以编程方式创建.lnk文件的方法是可以接受的解决方案吗?事实上,我正在使用批处理文件中的
mklink
来创建一些链接。我可以使用Cygwin的mkshortcut
,甚至可以创建一个中间.cmd文件,该文件start
s是实际的.cmd文件。然而,mklink
将是自然的解决方案。是的,当双击通过mklink
创建的任何内容时,无论是软的还是硬的,我都会看到一个打开的对话框。除非将链接创建为硬链接并为其提供.cmd或.bat扩展名,否则我能想到的唯一解决方案是创建一个.lnk文件,而不是一个符号链接。不过,它不必与cygwin的mkshortcut
配合使用。这可以用vbscript来完成。看起来微软对文件链接没有注意start x
也会打开记事本,运行\x
表示找不到该命令。有趣的是,Windows上最简单的函数是如何不正常工作的。尽管mklink
是人们期待已久的重要功能,但似乎只有单独的快捷方式文件才能提供工作文件链接。同意。好吧,如果您正在考虑制作一个.lnk文件而不是符号链接,请参阅本页了解想法。
path_to_vbs\shortcut_helper /target:"file_path\file.bat" /shortcut:"shortcut_name" /arg:"optional_arguments"