Windows7-Hardlink über zwei verschiedene Laufwerke


13

Ich versuche, auf meinem C-Laufwerk einen Hardlink zu erstellen, der auf eine Datei auf meinem D-Laufwerk verweist. Ich öffne ein Terminal mit Administratorrechten und versuche Folgendes:

C:\Users\sandro>mklink /H _vimrc D:\sandro-desktop\.vimrc

Der Fehler, den ich erhalte, ist: Das System kann die Datei nicht auf ein anderes Laufwerk verschieben.

Wenn ich einen Softlink versuche, tritt das Problem auf, dass Änderungen am Linkinhalt aus irgendeinem Grund nicht in der Zieldatei berücksichtigt werden.

Vielen Dank!


Wie wäre es _vimrcim Ziel statt .vimrc?
Ulidtko

Keine Antwort, aber gute Informationen finden Sie hier, schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html .
Therube

Antworten:


20

Ein fester Link ist eine Dateisystemfunktion, die eine Dateisystemgrenze nicht überschreiten kann. Sie können Dateien auf C: nicht fest mit D: verknüpfen, da es sich um separate Dateisysteme handelt. Sie könnten enthalten jeweils die gleiche Art von Datei Sytem (z. B. NTFS) , aber sie sind separate Dateisysteme.


Ich glaube, dass s / different / separate / angemessener wäre.
user1686

@grawity: Ja, stimmte zu. Also bearbeitet.
Mike Fitzpatrick

Haben Sie Ideen, wie ich das umgehen kann?
Sandro

Sie können Ihr Windows 7-Benutzerprofil (oder nur den Ordner Eigene Dateien) auf Laufwerk D migrieren. Dann funktionieren die Hardlinks. Wenn Sie dies tun, stellen Sie sicher, dass Sie die richtigen Methoden in Windows 7 verwenden (im Allgemeinen über Eigenschaftenregisterkarten) - verschieben Sie Ordner nicht manuell von C: nach D:
Mike Fitzpatrick

Der einzige Fall, in dem ein Hardlink zwischen C: und D: funktioniert, ist, wenn sie sich im selben Dateisystem befinden, z. B. subst D: C:\utils(natürlich mithilfe der Registrierung erstellt, um dies substdauerhaft zu machen ).
Miroxlav

3

Wenn es Windows 7 ist, können Sie Symlinks verwenden - Steammover macht genau das


Wie unterscheidet sich das von dem, was ich jetzt mache? Ich denke, ich kann es versuchen :)
Sandro

symlinks funktioniert zwischen Verzeichnissen - einige der älteren Optionen im Zusammenhang mit Junctions tun dies nicht. Da es außerdem ein ordentliches Frontend gibt, das Ihnen den Befehl mitteilt, ist es außerdem einfacher, herauszufinden, was getan wird. Ich benutze hauptsächlich XP, daher bin ich mir nicht sicher, ob es "besser" ist, aber nach dem, was ich gelesen habe, sollte es den Job machen, den Sie brauchen, um mit dem geringsten Aufwand zu arbeiten
Journeyman Geek

2
@ Sandro: Technische Details: Zwei Hardlinks verweisen auf denselben Inode (unter Unix; in Windows NTFS jedoch sehr ähnlich), der nur in einem einzigen Dateisystem funktioniert. Zwei Hardlinks sind völlig identisch. Es gibt kein "Original". Ein Symlink hingegen zeigt auf einen Pfad , bei dem es sich tatsächlich um einen beliebigen Text handeln kann.
Benutzer1686

Wenn Symlinks so funktionieren, warum werden dann die Änderungen nicht angezeigt, wenn ich eine Datei ändere?
Sandro

-3

Versuche dies:

mklink /H "C:\Users\sandro_vimrc" "D:\sandro-desktop\.vimrc"

Ich vermute, das hat etwas mit dem Dateinamen des Ziels zu tun. Versuchen Sie, Anführungszeichen um den Ziellink zu verwenden.

Ich denke, Ihr Link muss auch ein vollständiger Pfad sein.


Ich habe die ausprobiert und immer noch nichts. Danke für die Idee!
Sandro

Es ist wahrscheinlich der Punktname des Ziels. Funktioniert es für andere Dateien?
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.