Windows 7 / Symlinks - Wie kopiere ich einen Symlink in ein Verzeichnis?

25

Ist es möglich, einen Symlink in ein Verzeichnis in Windows 7 zu kopieren? Wenn ich versuche, ein Symlink-Verzeichnis zu kopieren, wird versucht, den Inhalt tief in den Speicherort zu kopieren.

John2496
quelle

Antworten:

23

Ich kenne keine Möglichkeit, dies im Windows Explorer zu tun, aber Sie können sie xcopyin der Befehlszeile mit dem Argument / b verwenden (siehe hier) .

Neal
quelle
1
@ Neal Arbeitete für mich wie ein Zauber. Ich habe auch hinzugefügt /i. Stellen Sie sicher, dass Sie mit dem Ordner SYMLINKS (nicht mit Junctions) arbeiten.
Anton Krouglov
13

Verwenden Sie den folgenden Befehl in der Eingabeaufforderung mit erhöhten Rechten:

xcopy /b /i <source symlink name> <destination symlink name>

Die Ausgabe ist 0 Datei (en) kopiert , der Symlink wird jedoch im Ziel erstellt. Dies wird unter Windows 7 und Windows 8.x getestet, sollte jedoch ab Vista funktionieren

UPDATE: Funktioniert auch in Windows 10

Maoizm
quelle
1
funktioniert bei mir nicht, es wird immer noch eine physische Kopie erstellt, kein Symlink wird kopiert ...
jakub.g
1
Arbeitete für mich: Win 10 x 64, erhöhte Eingabeaufforderung. Getestet auf Win 2012 R2. Stellen Sie sicher, dass Sie keine Junctions mit SYMLINKS mischen.
Anton Krouglov
10

Verwenden Sie natürlich ein Programm, das sie unterstützt. Mit Far Manager kann ich beispielsweise Symlinks als Links kopieren oder überqueren und deren Inhalt kopieren:

Alt-Text

Joey
quelle
Korrektur, es funktioniert nur für lokal verknüpfte Ordner. Für Netzwerk xcopy /b /ihilft nur .
Anton Krouglov
2

Far Manager war das einzige, was funktionierte. Vielen Dank, Joey.

Aus irgendeinem Grund bietet die Link Shell Extension keine Möglichkeit, symbolische Links / Junctions zu kopieren, oder ich bin zu dumm, um das herauszufinden. Versuchte alles im Drop As ... Menü.

Klicken Sie in Far Manager unten in der Benutzeroberfläche auf Kopieren, nachdem Sie sichergestellt haben, dass der andere Fensterbereich auf Ihren Zielordner zeigt. So einfach ist das!

Ich habe meinen gesamten Benutzerordner kopiert! Einige Links, die Sie nachträglich korrigieren müssen, wie zum Beispiel Anwendungsdaten. Wenn Sie Link Shell Extension haben, klicken Sie mit der rechten Maustaste und ändern Sie den Pfad im Kontextmenü des Links. Andernfalls verweisen sie auf Ihr altes Laufwerk. Stellen Sie sicher, dass Sie auch diejenigen in den Anwendungsdaten, AppData \ Local und Temporary Internet Files korrigieren. Achten Sie darauf, das Eigentum zu übernehmen, bevor Sie kopieren!

Außerdem müssen Sie dazu in einem anderen Admin-Profil angemeldet oder in einem anderen Betriebssystem gestartet sein. Wenn Sie ein anderes Betriebssystem starten, vergewissern Sie sich, dass die Links auf den Laufwerksbuchstaben verweisen, den das Ziel-Betriebssystem haben möchte, nicht auf den Laufwerksbuchstaben, den das aktuelle Betriebssystem haben möchte. Zum Beispiel ist mein Ziel-Betriebssystem J: \ users \ Me. Meine Junctions dort zeigen auf C: \ users \ Me, da C: \ der Laufwerksbuchstabe ist, in den ich gebootet werde. (Ja, wenn Sie jetzt auf die Links klicken, wird der Ordner Ihres aktuellen Betriebssystems geöffnet. Machen Sie sich darüber keine Sorgen.)

Es gibt Registrierungseinträge, die Sie ändern müssen. Sehen Sie hier .

gggirlgeek
quelle
1

Außerdem habe ich eine Shell-Erweiterung gefunden, die das vielleicht ein bisschen einfacher macht.

Es wird auf HowToGeek hier gezeigt

Und der Link zur Shell-Erweiterung selbst ist hier

Leider hatte ich keine Gelegenheit, dies selbst zu testen, da ich es auf einem Server ausführen muss und nicht besonders an der Shell-Erweiterung auf einem Produktionsserver herumspielen möchte - aber ich dachte, es könnte nützlich sein.

Michael12345
quelle
1

Dies wurde mit Windows 10 Pro Edition durchgeführt. Ich denke jedoch, dass es unter Windows 7 und Windows 8 dasselbe ist.

Fügen Sie zunächst die Möglichkeit hinzu, Symlinks zu Ihrem Nicht-Administrator-Benutzerkonto zu erstellen. Dies finden Sie in der lokalen Sicherheitsrichtlinie (secpol) unter "Sicherheitseinstellungen> Lokale Richtlinien> Zuweisen von Benutzerrechten> Symbolische Links erstellen". Wenn Sie Ihren Nicht-Administrator-Benutzer zu dieser Einstellung für Benutzerrechte hinzufügen, können Sie symbolische Links erstellen. Dies ist eine Berechtigung, die Sie benötigen, wenn Sie einen Symlink kopieren und daher erstellen.

Führen Sie dies in einem Eingabeaufforderungsfenster aus:

copy /L sourceLocation targetLocation
EU G-
quelle
Ich sehe kein /lin der copyReferenz auf win2008r2 und win2012r2.
ivan_pozdeev
Überprüfen Sie, ob in der Eingabeaufforderung "Hilfekopie" die Option / L aufgeführt ist. Ich bin nicht sicher, ob die Serverversionen von Windows die gleichen Optionen wie Windows 10 und 8 bieten, obwohl man das erwarten kann.
18.