Як зробити ярлик до іншого ярлика?


9

При спробі створити ярлик до іншого ярлика, Windows XP призначає нову ярлику цілі оригінального ярлика. Це трапляється навіть тоді, коли я ввожу цільовий шлях вручну, і мені залишається копія оригінального ярлика. Це не те, що я хочу.

Як можна безпосередньо .lnkвказати файл на інший .lnkфайл? Ця форма подвійної непрямості була б дуже корисною для управління ярликами до файлів, які часто рухаються.


У Windows 7 це просто працює ... Це не те саме в XP?
soandos

@soandos: Він створює копію ярлика замість створення ярлика до ярлика.
користувач541686

@soandos Якщо ви зробите ярлик до ярлика, новий ярлик посилається на шлях першого ярлика, а не на шлях самого файлу ярлика. Це поведінка за замовчуванням у Windows XP та 7.
iglvzx

Відповіді:


4

Я повністю розумію корисність посилань на посилання, і я шукав просте рішення. Найкраще, що я придумав - це просто використовувати жорсткі посилання, які вказують на файл shortcut.lnk. Я перевірив символічні посилання (з'єднання призначені лише для папок, а не для файлів, тому вони не перевірені), і вони НЕ працюють (вони в основному не працюють файли при створенні, які не вдається відкрити).

Жорсткі посилання мають ряд переваг і недоліків. Основним недоліком є ​​те, що їх майже неможливо легко створити в резервному режимі (вам потрібне програмне забезпечення сторонніх виробників або сценарії для їх резервного копіювання до іншого занурення або навіть в інше місце на тому ж диску). Основна перевага полягає в тому, що вони автоматично оновлюються, коли ви змінюєте оригінальний файл, тому зміна 1-го файлу ярликів (новий шлях / значок) також змінює всі пов’язані жорсткі посилання [імена для жорсткої посилання, однак, унікальні, тому зміна імені файлу не означає змінити ім’я жорсткого посилання та навпаки]. Ще однією особливістю, яка є як перевагою, так і недоліком жорстких посилань, є те, що зміна піктограми / контуру для жорсткого посилання (зміна даних твердого посилання) ТАКОЖ змінює ОРИГІНАЛ. Це НЕ включає "видалення самого посилання" (посилання можна видалити як і будь-який інший файл; не видаляючи сам вихідний файл). Це вигідно, оскільки він зберігає всі пов’язані посилання синхронізованими, але він невигідний у випадках, коли жорстке посилання зберігається у вразливому місці, і його дані зловмисно модифіковані або помилка користувача при зміні даних одного посилання. Ця зміна буде передана всім партнерам з твердими посиланнями, включаючи оригінал. Відверто кажучи, така поведінка загалом корисна, за винятком випадків, коли ви хочете "стабільної посилання на джерело" (одностороння модифікація) Ця зміна буде передана всім партнерам з твердими посиланнями, включаючи оригінал. Відверто кажучи, така поведінка загалом корисна, за винятком випадків, коли ви хочете "стабільної посилання на джерело" (одностороння модифікація) Ця зміна буде передана всім партнерам з твердими посиланнями, включаючи оригінал. Відверто кажучи, така поведінка загалом корисна, за винятком випадків, коли ви хочете "стабільної посилання на джерело" (одностороння модифікація)

Я перевіряв копіювання окремих жорстких посилань і папок, що містять жорсткі посилання, в провідник Windows, і результат просто створює роз'єднані ярлики до вихідних даних (більше не пов’язані жорсткі посилання, і, отже, не змінюватись з модифікаціями вихідного посилання). Мені здається, що ця відсутність простого копіювання надзвичайно дратівлива, і головна причина, яку я не бажаю широко використовувати їх, але, якщо у вас є лише декілька для певної мети (наприклад, синхронізація посилань зі стабільного каталогу, на робочий стіл / панель завдань / startmenu) вони все ще можуть бути хорошим рішенням (навіть у тому випадку, вони насправді не є портативними для інших систем, без написання сценарію для автоматизації побудови каталогу). Однак вони пересуваються, не порушуючи їх (ви можете переміщати їх кудись у файловій системі, коли вони створені. Ви просто не можете їх "скопіювати").

Щоб зробити жорстке посилання, просто відкрийте підвищений командний рядок (.cmd відкрито до system32 або запустіть .cmd як адміністратор) та введіть:

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

Приклад:

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

Добре позначити жорстке посилання з файлом, на який він посилається (наприклад, тут. були оригінальними (знову ж таки, корисною поведінкою). Я також повинен прямо зазначити, що вони САМО створені за допомогою командного рядка (або стороннього програмного забезпечення, яке дає shellExtension або gui для команди). Крім того, вони не є "дзеркальною копією"'оригіналу, вони можуть показувати розміри файлів оригінального об'єкта, але вони по суті займають 0 байт місця на диску; вони є фактично посиланнями, що зберігаються на MFT накопичувача (це також причина, що їх неможливо зробити між двома різними розділами [це ще одна їх особливість, яку варто згадати; але яку легко подолати за допомогою розумного комбінації клавіш швидкого доступу, з'єднань , символьні посилання та тверді посилання, які використовуються разом])

Чесно кажучи, я вважаю, що це саме те, що ви шукаєте, і це дуже корисна функція. Якщо ви вмієте добре писати сценарії, я впевнений, що не важко написати програму, яка просто будує каталог жорстких посилань за вашим бажанням (і трактує це як "резервне копіювання" або "рішення для портативності" для інших систем). Можливо, ви також зможете знайти програмне забезпечення сторонніх виробників, щоб полегшити всі ці завдання та подолати внутрішню необмеженість роботи з жорсткими посиланнями.


Це був абсолютно такий варіант. (досі працює в Windows Server 2012). Будь ласка, позначте як відповідь, як саме він відповідав на питання. Я використовую це для "версії" програмного забезпечення, яке ділиться через мережу та запускається 15 користувачами. Коли у мене є нова версія, я просто змінюю посилання "перше", щоб вказати на цей новий випуск, і жорсткий посилання поважає зміни. Жорстке посилання - це остання посилання, яка знаходиться на робочих столах моїх користувачів (10-15 профілів користувачів).
Саймон

Або він не працює в Windows 10, або я не розумію, що таке жорстке посилання. Я точно дотримувався вказівок, і на ньому було сказано "Hardlink створено для ...", але коли я клацну правою кнопкою миші на твердому посиланні та перегляньте "Властивості", він все одно вказує на вихідний файл, а не на інше посилання. Я навіть біг fcіз командного рядка, і там написано "жодних відмінностей не зустрічається"
Ендрю Штайц

2

Найпростішим рішенням буде використання файлів Batch .

Якщо Shortcut.lnkвін знаходиться в C:\Files\, створення нового .batфайлу із наступним рядком коду запустить .lnkфайл:

"C:\Files\Shortcut.lnk"

Так, я вже знав про це (це "відповідь" згадується всюди в Інтернеті, коли ви шукаєте це), але це насправді не відповідає на питання ...
user541686

Чи є причина, чому "ярлик" до .lnkфайлу також повинен бути .lnkфайлом? Якщо це важливо або якщо у вас є якісь інші вимоги, відредагуйте своє запитання, щоб включити ці дані. Ви отримаєте кращу відповідь таким чином. :)
iglvzx

Ага, так, тому що це я запитав у питанні ... якби .batфайлів було достатньо, то Microsoft не робив би .lnkфайли ...
user541686

І FYI, пакетні файли не поводяться як ярлики в момент, коли ви клацніть правою кнопкою миші (або чорт, вони навіть не виглядають як ярлики, навіть коли ви дивитесь на них).
користувач541686

Добре. Я пішов вперед і відредагував ваше запитання, щоб зробити цю вимогу більш зрозумілою.
iglvzx
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.