Version 1.0 0.16MB

mklink 1.0

Rated 5/5

Mit mklink kann man Junctions anlegen. Sinnvolle Anwendungen für Junctions gibt es viele. Einige Beispiele seien hier genannt:

Um unter Windows an das Standardverzeichnis für die eigenen Fotos zu gelangen, ist ein Pfad wie C:\Dokumente und Einstellungen\Erika Mustermann\Eigene Dateien\Eigene Bilder erforderlich. Kürzer und wesentlich praktischer wäre C:\Fotos.

Mit einer Junction ist das kein Problem. Mit dem Befehl mklink /J „C:Fotos“ „C:Dokumente und EinstellungenErika MustermannEigene DateienEigene Bilder“ kann eine solche Junction angelegt werden. Danach steht das Bilder-Verzeichnis unter beiden Verzeichnisnamen zur Verfügung.

Ein weiterer interessanter Einsatzbereich betrifft die Installation von Anwendungsprogrammen. Das Standardverzeichnis für Softwareinstallation ist in deutschen Windows-Versionen üblicherweise C:Programme und bei englischen Varianten von Windows meist C:Program Files. Jedoch gibt es immer wieder Programme, die sich unabhängig von der Sprachversion in C:\Program Files installieren. Eine Junction von C:\Program Files auf C:\Programme hilft, stets einen aufgeräumten und übersichtlichen Rechner zu behalten.

Gleiches gilt für Software, die sich partout nur unterhalb des Root-Verzeichnisses installieren lassen will, zum Beispiel C:\MyApp. Hier lässt man die Software installieren, kopiert dann alles nach C:\Programme\MyApp und gibt anschließend mklink /J C:MyApp C:ProgrammeMyApp ein.

Auch für Netzwerkadministratoren sind Junctions eine praktische Sache. Die Installation einer zusätzlichen Festplatte, die in eine bestehenden Verzeichnisstruktur eingebunden werden soll, ist dank des Tools sehr einfach. Damit die Benutzer auch auf der neuen Platte die Dateien da finden, wo sie sie gewohnt sind, muss man einfach mklink /J C:\AltePlatte\Subdir1\Subdir2 D:\NeuePlatte\Subdir2 auf dem Server ausführen. Dies erspart in vielen Fällen das Aufsetzen eines Distributed-File-Systems (DFS) und hat zudem den Vorteil, dass die Verzeichnisstruktur für Server und Clients identisch ist.

Die ZDNet-Implementierung des mklink-Befehls ist leicht installiert: Einfach die Datei mklink.exe in ein Verzeichnis kopieren, auf das die Path-Umgebungsvariable des Computers zeigt, und schon kann der Befehl genutzt werden. Die Implementierung ist voll netzwerkfähig. Für Interessierte ist der Source-Code in C++ dabei.

Die grundsätzliche Syntax von mklink lautet:

mklink /[OPTION]

Unix- und Mac-Anwendern fällt sofort auf, dass Link und Ziel genau anders herum angegeben werden müssen als im ln-Befehl. Dies wurde bewusst so gewählt, um Syntax-Kompatibilität mit dem Windows-Vista-Befehl zu erreichen. Im Einzelnen gibt es folgende Möglichkeiten:

mklink /J

Mit dem Parameter J legt ein neues Verzeichnis an, das dann auf das alte Verzeichnis als Junction verweist. Verwendet man ein Netzwerklaufwerk, so muss das alte Verzeichnis nach den Namenskonventionen des Servers benannt werden. Falsch wäre zum Beispiel mklink /J \ServerShareDir1 \SeverShareDir2. Richtig ist dagegen mklink /J \ServerShareDir1 C:Dir2, wenn Share auf der C:-Partition des Servers liegt.

mklink /H

H legt eine neue Datei an, die einen Hardlink der alten Datei darstellt.

mklink /I

Verbindet man mklink mit I, erhält man Informationen über den Pfadnamen und darüber, welche Art von Links unterstützt werden. kann ein Laufwerksbuchstabe wie C: oder auch ein Netzwerkshare wie \SERVERSHARE sein.

mklink /L

Mit dem Parameter L gibt mklink Informationen über einen existierenden Link aus. Das kann ein beliebiger Pfadname sein, der eine Junction oder ein Softlink ist.

Um einen Link im Dateisystem wieder aufzuheben, kann im Falle von Hardlinks eine Datei einfach gelöscht werden. Erst wenn der letzte Dateiname im Dateisystem gelöscht ist, wird der Platz wieder freigegeben.

Der Windows-Explorer interpretiert Junctions als normale Verzeichnisse. Löscht man die Junction Fotos, sind auch alle Dateien im Quellverzeichnis verloren.
Beim Löschen einer Junction ist Vorsicht geboten. Die Verbindungen werden mit rmdir oder rd in der Eingabeaufforderung gelöscht. Die Befehle del oder erase löschen hingegen den Inhalt des Zielverzeichnisses.

Der Windows-Explorer in Versionen vor Vista erkennt keine Junctions. Daher darf er zum Aufheben von Junctions nicht verwendet werden. Es würde auch der Inhalt des Zielverzeichnisses gelöscht oder zumindest in den Papierkorb verschoben werden.

Version 1.0 0.16MB

Kommentar hinzufügen

Your email address will not be published. Required fields are marked *