windows如何创建。用Java编写lnk文件?
我发现了许多用于处理windows(.lnk)快捷方式的解析解决方案,但我需要使用Java工具创建它们
因此,我的问题是:
- 如何创建它们李>
- (还是使用Files.createSymbolicLink更好?)-问题是它们的文件大小为零,并且没有像“普通”文件那样处理(因此,当我想要删除空文件夹时,符号快捷方式(内部)也会被删除,因为它们不被识别为“普通”文件))
你可以在下面搜索框中键入要查询的问题!
我发现了许多用于处理windows(.lnk)快捷方式的解析解决方案,但我需要使用Java工具创建它们
因此,我的问题是:
# 1 楼答案
我可以在GitHub上推荐此存储库:
https://github.com/BlackOverlord666/mslinks
在那里,我找到了创建快捷方式的简单解决方案:
ShellLink.createLink("path/to/existing/file.txt", "path/to/the/future/shortcut.lnk");
如果您想阅读快捷方式:
希望这对您有所帮助:)
问候 约书亚·弗兰克
# 2 楼答案
我们发现最可靠的方法是生成一个临时变量。js文件,然后生成WSScript子进程。它感觉非常笨拙,但它避免了Java的任何弱点,并且可以与较旧的JRE一起使用(这对我们很重要,因为
Files.createSymbolicLink
甚至可能不适用于我们的一些用例)结果大致如下。您可能会将其重写为使用路径,而不是文件和其他NIO。2个特性等。所有传入变量都是纯字符串实例,在底部描述;它们可能是空的,但决不是空的
需要注意的是,此代码用于在Windows“特殊文件夹”中创建快捷方式,而不仅仅是任意位置。不过,你可以对此进行调整
您可以测试进程的退出值,如果为零,则删除临时文件。如果出现问题,您可以将文件留待调查,包括手动编辑脚本以取消注释底部的错误转储
folder
是目标文件夹的特殊Windows名称,例如“SendTo”或“StartMenu”等。完整列表在MSDN的某个地方,但需要记住的是,它们不一定是这些文件夹的纯英文名称{}是,例如,“我的程序快捷方式”。这个
target
就是你所认为的,应该是一条获得最安全结果的完整路径icon
字符串是一个时髦的Windows东西,您可以在其中指定图标文件名和索引号,类似于“MyApp.ico,0”。上面的代码将空图标字符串视为使用系统默认值description
成为快捷方式的属性->;注释字段。如果不需要设置arguments
和workingDir
可以保留为空