Laden...

URL aus Dokumenteneigenschaften auslesen

Erstellt von todo vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.293 Views
T
todo Themenstarter:in
3 Beiträge seit 2011
vor 12 Jahren
URL aus Dokumenteneigenschaften auslesen

Hallo zusammen,

ich habe folgendes Problem. Bei uns im Unternehmen werden Dokumente, die älter als drei Jahre alt sind, ausgelagert. An der Stelle an der das Dokument lag, steht nur noch ein Link. Der Link hat den ursprünglichen Dateinamen. Über die Dateieigenschaften, im Register Webdokument, sieht man die URL, wo das Dokument tatsächlich liegt. Mit einem ganz normalen Doppelklick kann man das Dokument öffnen. (Das Dokument ist ein pdf.)

Ich möchte dieses Dokument aber aus meinem Programm öffnen. Ich kenne den Pfad und den Dateinamen. Ich kann über die FileInfo alle möglichen Informationen auslesen. Aber ich kann das Dokument nicht öffnen, weil es ja nicht da liegt wo der Pfad hinzeigt, sondern das Dokument liegt dort wo die URL hinzeigt.

Meine Frage: Wie kann ich die URL aus der Registerkarte Webdokument in den Dokumenteneigenschaften auslesen?

Vielen Dank im Voraus.

49.485 Beiträge seit 2005
vor 12 Jahren

Hallo todo,

was genau meinst du mit Link? Eine Datei vom Typ .lnk (auch Verknüpfung oder Shortcut genannt, wie man die ausliest wurde schon mehrfach im Forum besprochen) oder eine vom typ .url (hast du letztere mal mit dem Text-Editor geöffnet?).

BTW: Die Extension von .lnk-Dateien sieht man im Windows Explorer nicht, selbst wenn man eingestellt hat, dass Extensions angezeigt werden. Aber in der NT-Eingabeaufforderung werden sie angezeigt (Befehl: dir).

Evtl. bietet es sich an, stattdessen Hardlinks zu verwenden.

herbivore

G
47 Beiträge seit 2011
vor 12 Jahren

Hi todo,

ich glaub ich hab erraten, was du suchst.

Du suchst das Ziel eines (Web-)Verweises (im Beispiel test.url) der in einem bestimmten Ordner (d:) liegt. Ist das richtig?


            Shell32.Shell Shell = new Shell32.Shell();

            Shell32.Folder Ordner = Shell.NameSpace(@"d:\");

            Shell32.FolderItem Datei = Ordner.Items().Item("test.url");

            Shell32.ShellLinkObject Verk = (Shell32.ShellLinkObject)Datei.GetLink;

            string Link_Path = Verk.Path;

Alternativ kannst du die Datei (nichts anderes ist es) auch öffnen und den Inhalt auslesen.

Gruß Gwinn

T
todo Themenstarter:in
3 Beiträge seit 2011
vor 12 Jahren

Hallo ihr beiden,

ich meinte natürlich da wo das Dokument steht, steht jetzt eine Verknüpfung. (Mit Link habe ich mich etwas blöd ausgedrückt.)

Die Verknüpfung ist vom Typ .url. (z.B. Test.pdf.url).

Der Anwender kann seine Datei immer noch in gewohnter Weise von z.B. M:\Organisation\Test.pdf mit einem Doppelklick öffnen. Aber in Wirklichkeit liegt nur noch eine Verknüpfung an dieser Stelle, die auf das Dokument zeigt, das mittlwerweile auf einem ganz anderen Server liegt. Das betrifft alle Dokumente, die älter als drei Jahre alt sind.

Ich habe schon die Schell32.dll eingebunden. Ich werde mal etwas rumprobieren. Hoffentlich komme ich damit weiter.

Viele Grüße
todo

T
todo Themenstarter:in
3 Beiträge seit 2011
vor 12 Jahren

Hallo Gwinn,

es hat sofort funktioniert.

Vielen vielen Dank.