Welche verschiedenen Arten von Verknüpfungen gibt es?

8

Ich habe festgestellt, dass Windows in der Lage zu sein scheint, mehrere verschiedene Arten von Verknüpfungen zu erstellen. Im Moment versuche ich, eine Ordnerverknüpfung zu verstehen, die im Netzwerkverknüpfungsordner meines Profils vorhanden ist. Im Windows Explorer wird es als Ordner mit der Verknüpfungsüberlagerung angezeigt. Der aufgelistete Typ lautet "Dateiordner". Durch Doppelklicken gelangen Sie zu einem Netzwerkspeicherort. Das Anzeigen in Powershell zeigt, dass es sich um einen Ordner handelt und sich darin eine "target.lnk" -Datei befindet.

Außerdem stelle ich häufig fest, dass im Eigenschaftenfenster anderer Verknüpfungen das Feld "Ziel" fehlt. Ich denke, dies könnten Windows Installer-Verknüpfungen sein. Gibt es außer Verknüpfungen und symbolischen Links noch andere Arten von Verknüpfungen? Besser noch, gibt es eine Dokumentation, die ich mir ansehen kann und die alle auflistet?

* Bearbeiten: Weitere Informationen zum Verknüpfungstyp, mit dem ich mich hauptsächlich befasse.

Der Explorer sieht einen Ordner (BShacklett) als Verknüpfung. Powershell sieht Folgendes:

Directory: C:\Users\bshacklett\AppData\Roaming\microsoft\windows\Network
Shortcuts\BShacklett


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
---hs        2012-06-11     10:50         75 desktop.ini
-a---        2012-06-11     10:50       1450 target.lnk

PS C:\Users\bshacklett\AppData\Roaming\microsoft\windows\Network Shortcuts> cat .\BShacklett\desktop.ini

[.ShellClassInfo]
CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
Flags=2
bshacklett
quelle
Schauen Sie meine Antwort superuser.com/a/456173/139371
Maximus

Antworten:

4

Es gibt keine vollständige Liste, aber was Sie sehen, wird als "Ordnerverknüpfung" bezeichnet , ein Ordner, der sich wie eine Verknüpfung zu einem anderen Objekt verhält und nicht dokumentiert ist (zumindest von Microsoft).

Wie Sie gesehen haben, handelt es sich um einen normalen Ordner, der die Dateien desktop.iniund enthält target.lnk. Die .lnkDatei ist eine reguläre Verknüpfungsdatei, die benannt werden target.lnkmuss und desktop.iniFolgendes enthält:

[.ShellClassInfo]
CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
Flags=2

Informationen dazu, wie der Explorer damit umgeht, finden Sie im folgenden Registrierungseintrag:

HKCR\CLSID\{0AFACED1-E828-11D1-9187-B532F1E9575D}

Sie verhalten sich im Wesentlichen wie ein Alias ​​für einen Ordner, mit der Ausnahme, dass sie nicht automatisch das Layout des realen Ordners übernehmen. Wenn Sie also die Spalten in einem Ordner aktivieren und in der Größe ändern, erstellen Sie eine Ordnerverknüpfung. Wenn Sie den Ordner über die Ordnerverknüpfung öffnen, sehen Sie den tatsächlichen Inhalt des ursprünglichen Ordners, aber die Spaltenkonfiguration (und andere) Attribute wie Fensterposition usw.) sind die Standardeinstellungen, nicht die benutzerdefinierten. Wenn Sie den ursprünglichen Ordner auf reguläre Weise (direkt, Dateiverknüpfung usw.) öffnen, wird er mit den Anpassungen angezeigt.

Wie Sie vielleicht anhand der Tatsache erraten haben, dass die zum Erstellen von Ordnerverknüpfungen verwendete Klassenkennung auf verweist shell32.dll, werden sie nur vom Explorer aufgelöst und vom Befehlsinterpreter (und PowerShell) wie normale Verzeichnisse behandelt.

Sie werden in der Praxis nicht häufig verwendet, können jedoch nützlich sein und ähneln fast einem Alias, was sehr hilfreich ist, da ältere Windows-Versionen (wie ME, 2000 und XP) einige Arten von Aliasen, wenn überhaupt, nicht gut unterstützten. Eine Möglichkeit, wie sie vom Explorer automatisch erstellt werden, besteht darin, einen Ordner in das Startmenü zu ziehen. Wenn Sie einen Ordner in einen anderen Ordner, in die Schnellstartleiste usw. ziehen, wird eine reguläre Dateiverknüpfung zum Ordner erstellt. Wenn Sie ihn jedoch in das Startmenü ziehen, wird eine Ordnerverknüpfung erstellt, mit der er wie folgt aussehen kann ein Untermenü (dh erweiterbar).

Eine Sache zu beachten ist, dass Sie sie zwar verwenden können, um erweiterbare Menüs zu erstellen, sie sich jedoch nur so einstufig verhalten. Wenn Sie daher eine Ordnerverknüpfung zu einem Ordner erstellen, diese in einen anderen Ordner legen, dann eine Ordnerverknüpfung zu diesem Ordner erstellen und in ein Menü einfügen, können Sie kein dreistufiges erweiterbares Menü erstellen. Stattdessen erhalten Sie ein Menü, das einen Ordner enthält, der erweitert wird, um einen anderen Ordner anzuzeigen, der erweitert wird, um eine Verknüpfung mit dem Namen anzuzeigen target.

Synetech
quelle
Kleine Korrektur - 2000 und XP unterstützten Junctions (sie wurden mit der NTFS-Version eingeführt, die mit 2000 geliefert wurde). Symlinks wurden jedoch nicht unterstützt - diese wurden mit Vista geliefert. Vermutlich funktionieren 'Ordnerverknüpfungen' in DOS-basierten Versionen von Windows (3.1 [?], 95, 98, ME) (und neueren Versionen).
Bob
@ Bob, danke; Ich habe den Begriff Junction entfernt, um ihn zu vereinfachen und den Punkt zu verdeutlichen. Ordnerverknüpfungen funktionierten in ME und höher (zumindest laut Buch; ich habe nicht wirklich getestet).
Synetech
Huh, ich hatte irgendwie erwartet, dass es zumindest in 98SE existiert. Andererseits wusste ich vor Ihrer Antwort nicht einmal über Ordnerverknüpfungen Bescheid.
Bob
1

Es gibt ShortcutsWeichen einfach sind *.lnkDateien und Junction/ Hard link/ Symbolic linkWeichen sind NTFS - Objekte. Mischen Sie sie nicht.

Shortcutskann auf Paths(Dateien und Ordner) und PIDL's(die in der Explorer-Oberfläche nicht bearbeitet werden können) ausgerichtet sein.

Maximus
quelle
1

Zusätzlich zu den 4 Typen, die @Maximus aufgelistet hat, gibt es einen fünften Typ, bei dem es sich um "spezielle" Systemverknüpfungen handelt, die in der Registrierung definiert sind.

Beispiele hierfür sind beispielsweise die "Bibliotheken" in Windows 7, Schriftarten, Drucker usw.

.lnk und Junctions sind Windows-spezifisch (NTFS-Partition). Harte und symbolische Links finden sich auch in vielen anderen Ablagesystemen, einschließlich aller UNIX-Betriebssysteme (Linux, BSD, Mac usw.).

Harte und symbolische Links können nur mit nativen Windows-Tools über die Befehlszeile eingerichtet werden. Es gibt jedoch ein hervorragendes Windows Explorer-Add-In, mit dem diese erstellt werden können. Junctions können über die Befehlszeile oder über das Festplatten-Dienstprogramm der Windows-Systemsteuerung erstellt werden. Lnk-Links sind Windows Explorer-spezifisch.

Ich bevorzuge es für die meisten Zwecke, symbolische Links zu verwenden. Sie funktionieren gut mit Umgebungen mit gemischten Betriebssystemen und mit den meisten Windows-Programmen.

Julian Knight
quelle
Außerdem sind symbolische Links viel konsistenter mit Sicherungs- / Archivierungswerkzeugen, die angewiesen werden sollen, ihnen zu folgen (ich habe noch nichts von den folgenden Links gehört)
PPC
Haben Sie Gedanken zu dem Verknüpfungstyp, den ich in meinem Beitrag erwähnt habe? Der Ordner mit der Datei target.lnk?
bshacklett
@PPC: Es ist sehr unwahrscheinlich, dass andere als Windows Explorer selbst verstehen, wie man Links vom Typ .lnk folgt.
Julian Knight
@bshacklett: Mein Windows-Laptop ist gerade kaputt, daher kann ich nicht weiter nachforschen. Haben Sie versucht, die Datei target.lnk mit einem Texteditor zu öffnen, um zu sehen, was sich darin befindet? Ich denke, dass Maximus die Informationen zu dieser Art von Link gegeben hat.
Julian Knight
@JulianKnight: Unter Windows ist es sehr schwierig, lnk-Dateien selbst zu öffnen, da der Windows Explorer versucht, ihnen zu folgen und stattdessen das Ziel zu öffnen. Die einfachste Lösung, die ich kenne, ist die Verwendung eines Nicht-Windows-Systems. Oder Sie können mit der rechten Maustaste auf> Eigenschaften klicken, um das meiste zu erhalten, was Sie wissen möchten.
PPC