Spiegherò prima il mio obiettivo per evitare equivoci "XY Problem". Voglio essere in grado di produrre un file (su Linux) che, quando scaricato su una macchina Windows e doppio clic, aprirà un file (ms office, ma non dovrebbe importare IIUC) con un percorso noto (sul locale Windows Machine) preimpostata dal server.Produrre il file lnk su GNU/Linux per trasferire a Windows
Sembra che ciò che sto cercando di fare è possibile se includo il percorso del file che voglio aprire (e nessuno degli altri dettagli riguardanti il volume che è stato archiviato in etc) nel file lnk. Per prima cosa ho controllato le specifiche del formato di file lnk cercando di generare il file in uno script python ma questo non è il mio pezzo di torta (non ho mai scritto codice per gestire i file binari prima). Inoltre, ci sono molte caratteristiche di quel formato che voglio buttare, ma devo ancora battere le loro bandiere/campi/lunghezze/terminazioni ecc.
Poi mi sono imbattuto nell'utilità winedump e alcuni file .lnk creati da WINE nella mia cartella ~/.wine. Ci deve essere qualche funzione nella base di codice WINE che sia in grado di generare un file lnk, ma non ho potuto trovarlo. Dove si trova? È sotto forma di comando come win's mklink? In caso contrario (e credo che sia una funzione da qualche parte se non lo è) puoi indicarlo a me in modo che io possa scrivere un comando wrapper?
Oppure esiste una libreria in grado di scrivere file lnk ed eseguire su GNU/Linux?
mi riferiscono che entrambi questi strumenti sembrano funzionare come pubblicizzato (almeno nel mio limitato di test). Non c'è differenza di funzionalità tra il C e la versione dello script di shell poiché entrambi funzionano allo stesso modo. Il programma C potrebbe essere più veloce se devi creare rapidamente migliaia di .lnk, ma la versione dello script della shell è perfettamente adeguata. Nonostante abbia commenti e usi francesi, è ancora facilmente comprensibile anche se non riesci a leggere il francese. In entrambi i casi, ** assicurati di utilizzare i backslash per il percorso di destinazione e includi tra virgolette singole. ** come in 'mklink -l '\\ server \ dir \ file' -o mio.lnk' – wojtow