我會首先解釋我的目標,以避免「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