我会首先解释我的目标,以避免“XY问题”的误解。 我希望能够生成一个文件(在Linux上),当它被下载到Windows机器并双击时,将打开一个已知路径(位于本地的(ms office,但不应该是IIUC)文件) Windows机器)由服务器预设。在GNU/Linux上生成lnk文件以转移到窗口
看来我想要做的事情是可能的,如果我包含我想要打开的文件的路径(并没有关于它存储在其中的卷的其他细节等)在lnk文件中。 我首先检查了试图在python脚本中生成文件的lnk文件格式规范,但那不是我的小菜一碟(我从来没有编写过处理二进制文件的代码)。此外,还有很多我想要沟通的格式的特性,但我仍然需要注意他们的标志/字段/长度/终止等。
然后我偶然发现了WINE创建的winedump实用程序和一些.lnk文件在我的〜/ .wine文件夹中。 WINE代码库中必须有一些能够生成lnk文件的函数,但是我找不到它。 它在哪里? 它是否像win的mklink这样的命令形式? 如果不是的话(我想这是一个函数的地方,如果它不是),你可以指向我,这样我可以写一个包装命令?
或者是否有任何库可以编写lnk文件并在GNU/Linux上运行?
我会报告这两个工具似乎工作广告(至少在我有限的测试)。 C和shell脚本版本之间的功能没有区别,因为它们都以相同的方式工作。如果您需要快速创建数千个.lnk,C程序可能会更快,但shell脚本版本完全适用。尽管有法文评论和用法,即使你不能读法文也仍然可以理解。在这两种情况下,**一定要在目标路径中使用反斜杠,并用单引号引起来。**如'mklink -l'\\ server \ dir \ file'-o my.lnk' – wojtow 2016-03-29 17:40:51