Windows 7 / Symlinks - Jak skopiować Symlink do katalogu?

26

Czy można skopiować dowiązanie symboliczne do katalogu w systemie Windows 7. Kiedy próbuję skopiować katalog dowiązania symbolicznego, próbuje on głęboko skopiować zawartość do lokalizacji.

John2496
źródło

Odpowiedzi:

23

Nie wiem, jak to zrobić w Eksploratorze Windows, ale możesz użyć xcopyw wierszu polecenia z argumentem / b, zobacz tutaj .

Neal
źródło
1
@Neal Pracował dla mnie jak urok. Dodałem /irównież. Upewnij się, że pracujesz z folderem SYMLINKS (a nie skrzyżowaniami).
Anton Krouglov,
13

użyj następującego polecenia w wierszu polecenia z podwyższonym poziomem uprawnień:

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

Wynikiem jest 0 plików skopiowanych, jednak dowiązanie symboliczne jest tworzone w miejscu docelowym. Jest to testowane pod Windows 7 i Windows 8.x, ale powinno działać od wersji Vista

AKTUALIZACJA: działa również w systemie Windows 10

maoizm
źródło
1
nie działa dla mnie, nadal wykonuje fizyczną kopię, nie kopiując dowiązania symbolicznego ...
jakub.g
1
Pracowałem dla mnie: Wygraj 10 x64, podwyższony monit. Testowane również na Windows 2012 R2. UPEWNIJ SIĘ, ŻE NIE MIESZAJ POŁĄCZEŃ Z SYMLINKAMI.
Anton Krouglov,
10

Oczywiście skorzystaj z programu, który je obsługuje. Na przykład Far Manager pozwala mi kopiować dowiązania symboliczne jako łącza lub przeglądać je i kopiować ich zawartość:

alternatywny tekst

Joey
źródło
Korekta, działa tylko dla lokalnych folderów z dowiązaniami symbolicznymi. Dla sieci tylko xcopy /b /ipomaga.
Anton Krouglov,
2

Far Manager był jedyną rzeczą, która działała. Dzięki Joey.

Z jakiegoś powodu rozszerzenie powłoki powłoki albo nie zapewnia sposobu kopiowania linków / skrzyżowań sym, albo jestem zbyt głupi, żeby to rozgryźć. Próbowałem wszystkiego w menu Drop As ...

W Far Managerze po prostu wciśnij Kopiuj na dole interfejsu, po upewnieniu się, że drugi panel okna jest skierowany na folder docelowy. To takie proste!

Skopiowałem cały folder użytkownika! Niektóre linki, które musisz później poprawić, takie jak dane aplikacji. Jeśli masz rozszerzenie powłoki łącza, kliknij prawym przyciskiem myszy i zmień ścieżkę w menu właściwości kontekstu łącza. W przeciwnym razie będą wskazywać na twój stary dysk. Pamiętaj, aby poprawić również te w danych aplikacji, AppData \ Local i Tymczasowe pliki internetowe. Pamiętaj, aby PRZED kopiowaniem UZYSKAĆ ​​WŁASNOŚĆ!

Musisz to zrobić zalogowany w innym profilu administratora lub uruchomiony w innym systemie operacyjnym. Jeśli uruchomiono inny system operacyjny, upewnij się, że linki wskazują literę dysku, której chce docelowy system operacyjny, a nie literę dysku, której chce bieżący system operacyjny. Na przykład moim docelowym systemem operacyjnym jest J: \ users \ Me. Moje połączenia wskazują na C: \ users \ Me, ponieważ C: \ to litera dysku, na której będę się uruchamiał. (Tak, kliknięcie łączy teraz otworzy folder bieżącego systemu operacyjnego. Nie martw się o to.)

Wpisy rejestru należy zmienić. Zobacz tutaj .

gggirlgeek
źródło
Link Shell Extension działa, jednak instrukcje są nieco skomplikowane w przypadku kopiowania już istniejących folderów symlinkowanych: superuser.com/a/1509670/231129 (Link Shell Extension jest, moim zdaniem, nadal wart, aby usprawnić tworzenie sym-linków , jednak.)
Venryx
1

Znalazłem również rozszerzenie powłoki, które może to nieco uprościć.

Zostało to pokazane tutaj w HowToGeek

Link do samego rozszerzenia powłoki jest tutaj

Niestety sam nie miałem okazji tego przetestować, ponieważ muszę to zrobić na serwerze i nie chcę specjalnie bawić się z rozszerzeniem powłoki na serwerze produkcyjnym - ale pomyślałem, że to może być przydatne.

Michael12345
źródło
1

Dokonano tego przy użyciu wersji Windows 10 Pro. Myślę jednak, że tak samo jest w Windows 7 i Windows 8.

Najpierw dodaj możliwość tworzenia dowiązań symbolicznych do konta użytkownika innego niż administrator. Można to znaleźć w lokalnej polityce bezpieczeństwa (secpol) w „Ustawieniach bezpieczeństwa> LocalPolicies> Przypisywanie praw użytkownika> Utwórz dowiązania symboliczne”. Dodając użytkownika niebędącego administratorem do tego ustawienia praw użytkownika, możesz tworzyć dowiązania symboliczne, potrzebne uprawnienia, jeśli kopiujesz, a zatem tworzysz dowiązanie symboliczne.

Następnie zrób to w oknie wiersza polecenia:

copy /L sourceLocation targetLocation
eug-
źródło
Nie widzę /lw copyodnośniku odnoszącym się do win2008r2 i win2012r2.
ivan_pozdeev
Sprawdź, czy „pomoc kopiowania” w wierszu polecenia zawiera opcję / L. Nie jestem pewien, czy wersje serwerowe Windows zapewniają takie same opcje jak Windows 10 i 8, choć można się tego spodziewać.
eug-
0

Możesz użyć do tego rozszerzenia Link Shell , jednak instrukcje są nieco skomplikowane. (do kopiowania już istniejących dowiązań symbolicznych)

Instrukcje

  1. Użyj narzędzia LSEConfig.exe, aby zmienić ustawienie „Zewnętrzne złącze / symboliczne łącze” na „Splice”.
  2. Kliknij prawym przyciskiem myszy i „Wybierz źródło linku” folder nadrzędny folderu połączonego sym, który chcesz skopiować.
  3. Przejdź do folderu nadrzędnego miejsca, w którym chcesz upuścić folder połączony sym, i uruchom „Drop As: Smart Copy”.
  4. Zmień nazwę tymczasowego nadrzędnego „folderu kontenera” na docelową / rzeczywistą nazwę folderu nadrzędnego.

Procedura jest nieco kłopotliwa, dlatego polecam użycie xcopy lub Far Managera. (jeszcze ich nie wypróbowałem, ale zakładam, że są bardziej proste do bezpośredniego / pojedynczego kopiowania folderów z sym-link)

( Jednak moim zdaniem nadal warto uzyskać rozszerzenie Shell Link dla usprawnionego tworzenia sym-linków).

Venryx
źródło