ubuntuusers.de

sowas wie /usr/bin/strings in Python (oder: wie liest man *.lnk unter Linux)

Status: Gelöst | Ubuntu-Version: Kubuntu 10.04 (Lucid Lynx)
Antworten |

svenXY

Avatar von svenXY

Anmeldungsdatum:
22. September 2008

Beiträge: 542

Wohnort: Heidelberg

Hi,

ich möchte aus einer Windoof.lnk Datei (a.k.a. Shortcut) den Pfad einigermassen brauchbar extrahieren. Das geht wohl unter Windows mit win32.com, aber das gibt es unter Linux nicht.

Mit

1
strings <dateiname.lnk>

bekommt man zumindest die lesbaren Zeichen in Zeilen zurück, womit man anfangen könnte. Aber vielleicht hat noch jemand von Euch eine Idee, wie man das innerhalb von Python angehen könnte???

Danke, Sven

diesch Team-Icon

Avatar von diesch

Anmeldungsdatum:
18. Februar 2009

Beiträge: 5072

Wohnort: Brandenburg an der Havel

Vor einem Jahr gab es hier eine Diskussion, wie mna das mit der Shell machen kann. Das damals von mir geschriebene Skript gibt es auch unter http://www.florian-diesch.de/software/shell-scripts/#openlnk.

Mit Python würde ich die Datei in einen String einlesen und dann per Regex nach etwas suchen, das wie ein Windows-Pfad aussieht - eine Spezifikation des Dateiformats habe ich damals nicht gefunden, soweit ich mich erinnere.

Vain

Avatar von Vain

Anmeldungsdatum:
12. April 2008

Beiträge: 2505

Die Spec müsste das hier sein, oder? Laut der History dort gab es das damals aber wirklich noch nicht (öffentlich).

Wenn du also zu viel Zeit hast... 😉

svenXY

(Themenstarter)
Avatar von svenXY

Anmeldungsdatum:
22. September 2008

Beiträge: 542

Wohnort: Heidelberg

Vain schrieb:

Wenn du also zu viel Zeit hast... 😉

aber klar doch 😉 - danke trotzdem.

diesch schrieb:

Mit Python würde ich die Datei in einen String einlesen und dann per Regex nach etwas suchen, das wie ein Windows-Pfad aussieht

Ja, das wird wohl mehr oder weniger funktionieren - mein Problem hier sind aber nicht-verbundene UNC-Pfade (die fangen dann mit backslash-backslash an und der gesamte Pfad ist nicht in einem Stück vorhanden) - damit funktioniert Dein Skript (welches ja auch strings benutzt) zumindest nicht mit dem grep nach a:...).

Also doch ekliges regex-rumstückeln. Naja, wenn keiner eine bessere Lösung hat, wirds das wohl werden müssen.

Danke an alle, Sven

diesch Team-Icon

Avatar von diesch

Anmeldungsdatum:
18. Februar 2009

Beiträge: 5072

Wohnort: Brandenburg an der Havel

Danke für den Link.

Mit http://construct.wikispaces.com/ sollte das nicht allzu schwierig umzusetzen sein. Ich denke aber eher nicht, dass mir in nächster Zeit dafür langweilig genug ist 😉

Antworten |