Einfache und einfache Möglichkeit, symbolische Links unter Windows zu erstellen?

Antworten:

108

Haben Sie sich Junction angesehen ?

Außerdem führte Windows Vista das Befehlszeilentool mklink zum Erstellen symbolischer Verknüpfungen ein.

MKLINK [[/D] | [/H] | [/J]] Link Target
    /D      Creates a directory symbolic link.  Default is a file
            symbolic link.
    /H      Creates a hard link instead of a symbolic link.
    /J      Creates a Directory Junction.
    Link    specifies the new symbolic link name.
    Target  specifies the path (relative or absolute) that the new link refers to.

Scott Hanselman hat eine Zusammenfassung auf http://www.hanselman.com/blog/MoreOnVistaReparsePoints.aspx .

Wenn Sie ausschließlich über Windows XP sprechen, habe ich immer nur das Junction-Tool verwendet.

David Mohundro
quelle
4
Eine weitere Option könnte der Schalter / J auf mklink sein (wie "mklink / J <JUNCTION> <DIR>"). Beachten Sie, dass es sich nicht um eine separate ausführbare Datei handelt, sondern um einen Befehl in cmd. Wenn Sie also von PowerShell aus aufrufen, müssen Sie die Shell in cmd ausführen (z. B. "cmd / c mklink / J <JUNCTION> <DIR>"). )
David Mohundro
Wow Junction funktioniert super. Es wird eine echte symbolische Verbindung hergestellt, sodass auch Cygwin ihr folgen wird.
Styfle
3
mklinkwar genau das, wonach ich gesucht habe.
prolink007
2
Warum ln? Warum haben sie die Reihenfolge der Argumente aus dem uralten UNIX- Befehl umgekehrt ?
kbolino
1
@ kbolino: Einfach! Weil sie einfach erwarten, dass die Open-Source-Welt mit ihnen "aufholt" ... ugh.
18.
22

Es gibt ein Tool namens Link Shell Extension, mit dem sich auf einfache Weise Symlinks zu Dateien erstellen lassen, sowie eine ältere Art von Link, genannt "Junction" (im Grunde ein Symlink zu einem Ordner) und viele weitere exotische Arten von Links.

Bildbeschreibung hier eingeben

Die grundlegende Verwendung ist einfach: Navigieren Sie zum Quellordner, klicken Sie mit der rechten Maustaste auf die Datei oder den Ordner, zu dem Sie einen Link erstellen möchten, und wählen Sie die neue Option "Linkquelle auswählen" aus dem Kontextmenü. Gehen Sie dann zu dem Ordner, in dem Sie den Link ablegen möchten, klicken Sie mit der rechten Maustaste und wählen Sie "Ablegen als" und dann entweder "Symbolische Verknüpfung" für Dateien oder "Verknüpfung" für Ordner.

aber

ACHTUNG: Ein Grund, warum es Microsoft schwer macht, dies zu tun, ist, dass Junctions und Symlinks das versehentliche LÖSCHEN KRITISCHER DATEIEN sehr einfach machen können!

In einigen Versionen vor Windows 7 löschte das Löschen einer Junction oder eines Symlinks im Explorer automatisch auch das ORIGINALVERZEICHNIS!

Ich glaube, dass dieses Problem jetzt gelöst wurde ... aber natürlich mache ich keine Versprechungen ... seien Sie besonders vorsichtig mit Dateibrowsern von Drittanbietern (wenn Sie Symlinks benötigen, sind Sie sicher schmerzhaft bewusst, wie schwer der Windows 7 Explorer bläst.)

Aber ich schweife ab. Mein Punkt ist: seien Sie vorsichtig, machen Sie Ihre Hausaufgaben und lesen Sie die LSE-Dokumentation, um herauszufinden, wie Junctions und Symlinks wirklich funktionieren, und um Himmels willen, RÜCKEN SIE ALLES OBEN, bevor Sie anfangen, mit Junctions und Symlinks herumzuspielen!

Robert Roos
quelle
9

Das referenzierte Verzeichnis sollte so funktionieren, als wäre es tatsächlich zu% PATH% hinzugefügt worden

Nein, wenn Sie C: \ bin zu% PATH% hinzugefügt haben und in c: \ bin eine Junction mit dem Namen c: \ bin \ anotherDir \ erstellt haben, um auf c: \ anotherDir \ zu verweisen, damit Sie einige Dateien ausführen können die Kommandozeile wie:

> anotherDir\some.exe

Dies würde nicht funktionieren, da die Variable% PATH% nicht mit Unterverzeichnissen funktioniert (symbolisiert oder nicht).

Sie müssten einen direkten Hardlink zu some.exe erstellen, sodass der Hardlink c: \ bin \ some.exe auf c: \ anotherDir \ some.exe verweist

Zusammenfassend glaube ich nicht, dass Sie genau das tun können, was Sie verlangen. Trotzdem empfehle ich Link Shell Extension zum Erstellen von Junctions und Hardlinks. Es bietet mehr Funktionen als die meisten Junction-Tools in einer sehr einfach zu bedienenden Windows Explorer-Erweiterung


quelle
7

Versuchen Sie Symlinker, ein GUI-Tool, um Symlink in Windows zu erstellen

Für diese Anwendung ist .NET Framework 3.5 erforderlich (SP1 wird empfohlen). Ab dem 24.04.2015 funktioniert diese Software nur noch unter

  • Windows Vista
  • Windows 7
  • Windows 8 und 8.1

Symlinker-Benutzeroberfläche

Taranfx
quelle
Kann es Symlinks unter Windows XP erstellen?
Sebastian Godelet
7

NATIVE Windows Vista, 7 & 8 BEFEHL:

  1. Dateisymbolischer Link (Standard):
    • mklink <oldpath> <newpath>
  2. Verzeichnis Symbolischer Link :
    • mklink /D <oldpath> <newpath>
BenH
quelle
Dies wurde bereits vor 7 Jahren als Antwort vorgeschlagen.
Josh
3
Das ist ungenau: Windows XP hat keinen nativen mklinkBefehl.
patricktokeeffe
Vista war die erste Windows-Version, die mklinkper technet.microsoft.com/en-us/library/cc753194(v=ws.11).aspx aufgenommen wurde
ich sage Reinstate Monica
4

Ich glaube nicht, dass die mit XP gelieferte Version von NTFS symbolische Links unterstützt. NTFS6, das in Vista und Windows 7 enthalten ist, unterstützt symbolische Verknüpfungen mit dem mklinkBefehl. Die XP - Version von NTFS funktioniert Unterstützung Hardlinks, aber diese können nicht Bände umfassen.

Darth Android
quelle
2

Junction ist ein großartiges Dienstprogramm, aber Sie sollten darauf achten, dass Junction-Punkte genauso aussehen wie normale Ordner in Windows Explorer.

Verwenden Sie 'junction.exe -s' in der Befehlszeile, um alle Junctions in Ordnern und Unterordnern aufzulisten.

Jonathan Webb
quelle
0

Es gibt eine leichte Software namens "Easy Symbolic Link", mit der sie mit einem Rechtsklick einfach erstellt werden können. Probieren Sie es hier aus:

https://blog.afach.de/?page_id=589

Der Quantenphysiker
quelle