Wie erstelle ich eine Verknüpfung zu einer anderen Verknüpfung?

9

Beim Versuch, eine Verknüpfung zu einer anderen Verknüpfung zu erstellen, weist Windows XP der neuen Verknüpfung das Ziel der ursprünglichen Verknüpfung zu. Dies geschieht auch dann, wenn ich den Zielpfad manuell eingebe und eine Kopie der ursprünglichen Verknüpfung übrig habe. Das will ich nicht.

Wie kann eine Datei direkt .lnkauf eine andere .lnkDatei verweisen ? Diese Form der doppelten Indirektion ist sehr nützlich, um Verknüpfungen zu Dateien zu verwalten, die häufig verschoben werden.

user541686
quelle
In Windows 7 funktioniert es einfach ... Ist es in XP nicht dasselbe?
Soandos
@soandos: Es wird eine Kopie der Verknüpfung erstellt, anstatt eine Verknüpfung zu einer Verknüpfung zu erstellen.
user541686
@soandos Wenn Sie eine Verknüpfung zu einer Verknüpfung erstellen, verweist die neue Verknüpfung auf den Pfad der ersten Verknüpfung und nicht auf den Pfad der Verknüpfungsdatei selbst. Dies ist das Standardverhalten in Windows XP und 7.
iglvzx

Antworten:

4

Ich verstehe die Nützlichkeit des Verlinkens auf Links vollständig und habe auch nach einer einfachen Lösung gesucht. Das Beste, was ich mir ausgedacht habe, ist, einfach Hardlinks zu verwenden, die auf die Datei shortcut.lnk verweisen. Ich habe symbolische Links getestet (Junctions sind nur für Ordner, nicht für Dateien, daher wurden sie nicht getestet) und diese funktionieren NICHT (es handelt sich im Grunde genommen um fehlerhafte Dateien beim Erstellen, die sich nicht öffnen lassen).

Hardlinks haben eine Reihe von Vor- und Nachteilen. Der Hauptnachteil besteht darin, dass sie kaum einfach zu sichern sind (Sie benötigen Software oder Skripte von Drittanbietern, um sie auf einem anderen Tauchgang oder sogar an einem anderen Ort auf demselben Laufwerk zu sichern). Der Hauptvorteil besteht darin, dass sie automatisch aktualisiert werden, wenn Sie die Originaldatei ändern. Wenn Sie also eine Verknüpfungsdatei (neuer Pfad / neues Symbol) ändern, werden auch alle zugehörigen Hardlinks geändert. [Die Namen für den Hardlink sind jedoch eindeutig, sodass das Ändern eines Dateinamens nicht erfolgt Ändern Sie den Hardlink-Namen und umgekehrt. Ein weiteres Merkmal, das sowohl ein Vor- als auch ein Nachteil von Hardlinks ist, ist, dass das Ändern des Symbols / Pfads für den Hardlink (Ändern der Hardlink-Daten) AUCH DAS ORIGINAL ändert. Dies beinhaltet NICHT das Löschen des Links selbst (der Link kann wie jede andere Datei gelöscht werden; ohne die Originaldatei selbst zu löschen). Dies ist vorteilhaft, da alle zugehörigen Links synchronisiert bleiben. Dies ist jedoch in Fällen nachteilig, in denen der Hardlink an einem anfälligen Ort gespeichert ist und seine Daten in böswilliger Absicht geändert werden oder ein Benutzerfehler beim Ändern der Daten eines einzelnen Links auftritt. Diese Änderung wird auf alle fest verbundenen Partner einschließlich des Originals übertragen. Ehrlich gesagt ist dieses Verhalten im Allgemeinen nützlich, außer in Fällen, in denen Sie eine 'stabile Quellreferenz' wünschen (1-Wege-Modifikation). Diese Änderung wird auf alle fest verbundenen Partner einschließlich des Originals übertragen. Ehrlich gesagt ist dieses Verhalten im Allgemeinen nützlich, außer in Fällen, in denen Sie eine 'stabile Quellreferenz' wünschen (1-Wege-Modifikation). Diese Änderung wird auf alle fest verbundenen Partner einschließlich des Originals übertragen. Ehrlich gesagt ist dieses Verhalten im Allgemeinen nützlich, außer in Fällen, in denen Sie eine 'stabile Quellreferenz' wünschen (1-Wege-Modifikation).

Ich habe das Kopieren einzelner Hardlinks und Ordner mit Hardlinks im Windows Explorer getestet. Das Ergebnis erstellt lediglich getrennte Verknüpfungen zu den Originaldaten (keine zugeordneten Hardlinks mehr und ändert sich daher nicht mit Änderungen am Originallink). Ich finde diesen Mangel an einfachem Kopieren äußerst ärgerlich und der Hauptgrund, warum ich sie nur ungern ausgiebig verwenden würde, aber wenn Sie nur einige für einen bestimmten Zweck haben (z. B. das Synchronisieren von Links aus einem stabilen Verzeichnis auf den Desktop / die Taskleiste) / startmenu) Sie sind möglicherweise immer noch eine gute Lösung (obwohl sie nicht wirklich auf andere Systeme portierbar sind, ohne ein Skript zur Automatisierung der Verzeichniserstellung zu schreiben). Sie bewegen sich jedoch ohne Unterbrechung (Sie können sie nach ihrer Erstellung an eine beliebige Stelle im Dateisystem verschieben. Sie können sie einfach nicht "kopieren").

Um einen Hardlink zu erstellen, öffnen Sie einfach eine Eingabeaufforderung mit erhöhten Rechten (.cmd wird für system32 geöffnet oder führen Sie .cmd als Administrator aus) und geben Sie Folgendes ein:

mklink /H [path and name of Hardlink] [location of original file]

Beispiel:

mklink /H C:\users\you\desktop\hardlink.lnk C:\users\you\location\shortcut.lnk

Es ist gut, den Hardlink mit dem Dateityp zu kennzeichnen, auf den er verweist (wie hier .lnk, aber für Notepad-Dokumente hardlink.txt oder ähnliches), da es sich im Grunde um eine Spiegelung der Originaldatei handelt und der Windows Explorer ihn so behandelt, als ob er es wäre waren das Original (wieder ein nützliches Verhalten). Ich sollte auch direkt angeben, dass sie NUR über die Eingabeaufforderung (oder Software von Drittanbietern, die eine shellExtension oder GUI für den Befehl bereitstellt) erstellt werden. Außerdem sind sie keine gespiegelte Kopie'des Originals zeigen sie möglicherweise die Dateigrößen des Originalobjekts an, beanspruchen jedoch an sich 0 Byte Speicherplatz auf dem Laufwerk. Es handelt sich tatsächlich um Verweise, die auf die MFT des Laufwerks gespeichert sind (was auch der Grund ist, warum sie nicht zwischen zwei verschiedenen Partitionen erstellt werden können [was ein weiteres erwähnenswertes Merkmal von ihnen ist, das jedoch leicht mit einer cleveren Kombination von Verknüpfungen und Kreuzungen überwunden werden kann) , Symlinks und Hardlinks, die gemeinsam verwendet werden])

Ehrlich gesagt glaube ich, dass dies genau das ist, wonach Sie suchen, und es ist eine sehr nützliche Funktion. Wenn Sie gut skripten können, ist es sicher nicht schwierig, ein Programm zu schreiben, das einfach ein Hardlink-Verzeichnis nach Ihren Wünschen erstellt (und dies als "Backup" - oder "Portabilitätslösung" für andere Systeme behandelt). Möglicherweise finden Sie auch Software von Drittanbietern, um all diese Aufgaben zu vereinfachen und die inhärente Unhandlichkeit der Arbeit mit Hardlinks zu überwinden.

user612298
quelle
Es war genau diese Option. (funktioniert immer noch in Windows Server 2012). Bitte markieren Sie als beantwortet, da es die Frage genau beantwortet hat. Ich benutze das für die "Versionierung" einer Software, die über das Netzwerk gemeinsam genutzt und von 15 Benutzern gestartet wird. Wenn ich eine neue Version habe, ändere ich einfach den "ersten" Link, um auf diese neue Version zu verweisen, und der hardLink respektiert die Änderung. Der Hardlink ist der letzte Link, der sich auf den Desktops meiner Benutzer befindet (10-15 Benutzerprofile).
Simon
Entweder funktioniert es unter Windows 10 nicht oder ich verstehe nicht, was ein Hardlink ist. Ich habe die Anweisungen genau befolgt und es stand "Hardlink erstellt für ...", aber wenn ich mit der rechten Maustaste auf den Hardlink klicke und Eigenschaften ansehe, zeigt er immer noch auf die Originaldatei, nicht auf den anderen Link. Ich lief sogar fcvon der Kommandozeile und es heißt "keine Unterschiede aufgetreten"
Andrew Steitz
2

Die einfachste Problemumgehung wäre die Verwendung von Batch- Dateien.

Wenn Shortcut.lnksich in befindet C:\Files\, wird die .batDatei durch Erstellen einer neuen Datei mit der folgenden einzelnen Codezeile gestartet .lnk:

"C:\Files\Shortcut.lnk"
iglvzx
quelle
Ja, ich wusste bereits davon (es ist die 'Antwort', die überall im Internet erwähnt wird, wenn Sie danach suchen), aber sie beantwortet die Frage nicht wirklich ...
user541686
Gibt es einen Grund, warum die "Verknüpfung" zur .lnkDatei auch eine .lnkDatei sein muss? Wenn dies wichtig ist oder wenn Sie andere Anforderungen haben, bearbeiten Sie Ihre Frage, um diese Details aufzunehmen. Auf diese Weise erhalten Sie eine bessere Antwort. :)
iglvzx
Ähm, ja, denn das habe ich in der Frage gestellt ... Wenn .batDateien ausreichen würden, hätte Microsoft keine .lnkDateien erstellt ...
user541686
Und FYI, Batch - Dateien verhalten sich nichts wie Verknüpfungen, sobald Sie einen Rechtsklick sie (oder Heck, sie sehen nicht einmal , wie Verknüpfungen , auch wenn Sie schauen auf sie).
user541686
OK. Ich habe Ihre Frage bearbeitet, um diese Anforderung klarer zu machen.
iglvzx