Jak zrobić skrót do innego skrótu?

9

Podczas próby utworzenia skrótu do innego skrótu, Windows XP przypisuje cel oryginalnego skrótu do nowego skrótu. Dzieje się tak nawet wtedy, gdy ręcznie wprowadzam ścieżkę docelową i pozostaję z kopią oryginalnego skrótu. Nie tego chcę.

W jaki sposób .lnkplik może wskazywać .lnkbezpośrednio na inny plik? Ta forma podwójnej pośredniczości byłaby bardzo przydatna do zarządzania skrótami do plików, które często się przenoszą.

użytkownik541686
źródło
W Windows 7 to po prostu działa ... Nie jest tak samo w XP?
soandos
@soandos: Tworzy kopię skrótu zamiast tworzyć skrót do skrótu.
user541686,
@soandos Jeśli utworzysz skrót do skrótu, nowy skrót będzie odnosił się do ścieżki pierwszego skrótu, a nie ścieżki samego pliku skrótu. Jest to domyślne zachowanie w Windows XP i 7.
iglvzx

Odpowiedzi:

4

W pełni rozumiem użyteczność linkowania do linków i szukałem również łatwego rozwiązania. Najlepszy, jaki wymyśliłem, to po prostu użyć Hardlinks, które wskazują na plik shortcut.lnk. Testowałem dowiązania symboliczne (połączenia są tylko dla folderów, a nie plików, więc nie zostały przetestowane) i te NIE działają (są to zasadniczo uszkodzone pliki podczas tworzenia, które nie otwierają się).

Linki twarde mają wiele zalet i wad. Podstawową wadą jest to, że tworzenie kopii zapasowych jest prawie niemożliwe (potrzebujesz oprogramowania lub skryptu innej firmy, aby wykonać ich kopię zapasową na innym nurkowaniu lub nawet w innym miejscu na tym samym dysku). Podstawową zaletą jest to, że aktualizują się one automatycznie po zmodyfikowaniu oryginalnego pliku, więc zmiana 1 pliku skrótu (nowa ścieżka / ikona) zmienia również wszystkie powiązane linki twarde [nazwy linku twardego są jednak unikalne, więc zmiana nazwy pliku nie zmień nazwę hardlink i odwrotnie]. Kolejną cechą, która jest zarówno zaletą, jak i wadą twardych linków, jest to, że zmiana ikony / ścieżki dla twardego linku (zmiana danych twardego linku) TAKŻE zmienia ORYGINALNY. NIE obejmuje to „usuwania samego linku” (link można usunąć jak każdy inny plik; bez usuwania samego oryginalnego pliku). Jest to korzystne, ponieważ utrzymuje synchronizację wszystkich powiązanych łączy, ale jest niekorzystne w przypadkach, w których hardlink jest przechowywany w wrażliwej lokalizacji, a jego dane są złośliwie modyfikowane lub błąd użytkownika podczas modyfikacji danych jednego łącza. Ta zmiana zostanie przeniesiona na wszystkich partnerów połączonych na stałe, w tym na oryginał. Szczerze mówiąc, takie zachowanie jest ogólnie przydatne, z wyjątkiem przypadków, w których chciałbyś mieć „stabilne źródło odniesienia” (modyfikacja 1-kierunkowa) Ta zmiana zostanie przeniesiona na wszystkich partnerów połączonych na stałe, w tym na oryginał. Szczerze mówiąc, takie zachowanie jest ogólnie przydatne, z wyjątkiem przypadków, w których chciałbyś mieć „stabilne źródło odniesienia” (modyfikacja 1-kierunkowa) Ta zmiana zostanie przeniesiona na wszystkich partnerów połączonych na stałe, w tym na oryginał. Szczerze mówiąc, takie zachowanie jest ogólnie przydatne, z wyjątkiem przypadków, w których chciałbyś mieć „stabilne źródło odniesienia” (modyfikacja 1-kierunkowa)

Testowałem kopiowanie pojedynczych linków twardych i folderów zawierających dowiązania twarde w Eksploratorze Windows, a wynik po prostu tworzy niepowiązane skróty do oryginalnych danych (nie są już powiązane twardymi linkami, a zatem nie zmieniają się wraz z modyfikacjami oryginalnego linku). Uważam, że brak prostego kopiowania jest bardzo irytujący, a główny powód niechętnie korzystam z nich w szerokim zakresie, ale jeśli masz tylko kilka do określonego celu (np. Synchronizowanie łączy ze stabilnego katalogu, z pulpitem / paskiem zadań) / startmenu) mogą nadal być dobrym rozwiązaniem (chociaż nie są tak naprawdę przenośne dla innych systemów, bez pisania skryptu w celu zautomatyzowania budowania katalogów). Oni jednak poruszają się bez przerwy (możesz je przenieść w dowolnym miejscu w systemie plików, gdy już zostaną utworzone. Po prostu nie możesz ich „skopiować”).

Aby utworzyć łącze twarde, wystarczy otworzyć wiersz polecenia z podwyższonym poziomem uprawnień (.cmd otwarty dla systemu32 lub uruchomić .cmd jako administrator) i wpisać:

mklink /H [path and name of Hardlink] [location of original file]

Przykład:

mklink /H C:\users\you\desktop\hardlink.lnk C:\users\you\location\shortcut.lnk

Dobrze jest wyznaczyć hardlink z typem pliku, do którego prowadzi (np. Tutaj .lnk, ale w przypadku dokumentów notatnika hardlink.txt lub podobnym), ponieważ jest to w zasadzie odbicie lustrzane oryginalnego pliku, a Eksplorator Windows traktuje go tak, jakby były oryginalne (ponownie użyteczne zachowanie). Powinienem również bezpośrednio stwierdzić, że są one tworzone TYLKO za pomocą wiersza polecenia (lub oprogramowania innej firmy, które udostępnia polecenie shellExtension lub GUI) Nie są też kopią lustrzaną'oryginału, mogą pokazywać rozmiary plików oryginalnego obiektu, ale same w sobie zajmują 0 bajtów miejsca na dysku; w rzeczywistości są one zapisanymi odniesieniami do MFT dysku (co jest również powodem, dla którego nie można ich tworzyć między 2 różnymi partycjami [co jest kolejną cechą, o której warto wspomnieć, ale którą można łatwo pokonać za pomocą sprytnej kombinacji skrótów, skrzyżowań , dowiązania symboliczne i dowiązania twarde używane razem zgodnie]])

Szczerze mówiąc, wierzę, że jest to dokładnie to, czego szukasz i jest to bardzo przydatna funkcja. Jeśli potrafisz dobrze pisać, jestem pewien, że nie jest trudno napisać program, który po prostu buduje katalog dowiązania twardego, jak chcesz (i traktuje to jako „kopię zapasową” lub „rozwiązanie przenośności” dla innych systemów). Być może będziesz w stanie znaleźć oprogramowanie innych firm, które ułatwi wszystkie te zadania i przezwycięży wewnętrzną niechęć do pracy z linkami twardymi.

użytkownik612298
źródło
To była całkowicie ta opcja. (nadal działa w systemie Windows Server 2012). Proszę zaznaczyć odpowiedź jako dokładnie odpowiadającą na pytanie. Używam tego do „wersjonowania” oprogramowania udostępnianego przez sieć i uruchamianego przez 15 użytkowników. Kiedy mam nową wersję, zmieniam tylko łącze „pierwsze”, aby wskazać tę nową wersję, a hardLink uwzględnia tę zmianę. Hardlink to ostatni link, który znajduje się na komputerach użytkowników (10-15 profili użytkowników).
Simon
Albo to nie działa w systemie Windows 10, albo nie rozumiem, co to jest hardlink. Postępowałem dokładnie zgodnie ze wskazówkami i napisałem „Hardlink utworzony dla ...”, ale kiedy klikam prawym przyciskiem myszy hardlink i przeglądam Właściwości, nadal wskazuje oryginalny plik, a nie inny link. Nawet pobiegłem fcz wiersza poleceń i napisano „nie napotkano różnic”
Andrew Steitz,
2

Najprostszym obejściem byłoby użycie plików wsadowych .

Jeśli Shortcut.lnkznajduje się w C:\Files\, utworzenie nowego .batpliku z następującym pojedynczym wierszem kodu spowoduje uruchomienie .lnkpliku:

"C:\Files\Shortcut.lnk"
iglvzx
źródło
Tak, już o tym wiedziałem (jest to „odpowiedź” wspomniana wszędzie w Internecie, gdy jej szukasz), ale tak naprawdę nie odpowiada na pytanie ...
user541686
Czy istnieje powód, dla którego „skrót” do .lnkpliku musi być również .lnkplikiem? Jeśli jest to ważne lub masz inne wymagania, edytuj swoje pytanie, aby uwzględnić te szczegóły. W ten sposób uzyskasz lepszą odpowiedź. :)
iglvzx
Uhm, tak, bo o to pytałem w pytaniu ... gdyby .batpliki były wystarczające, to Microsoft nie stworzyłby .lnkplików ...
user541686
I do Twojej wiadomości, pliki wsadowe nie zachowują się jak skróty w momencie kliknięcia ich prawym przyciskiem myszy (lub do diabła, nawet nie wyglądają jak skróty, nawet gdy na nie patrzysz ).
user541686,
Ok. Poszedłem do przodu i zredagowałem twoje pytanie, aby wyjaśnić ten wymóg.
iglvzx