Які різні типи ярликів існують?


8

Я помітив, що Windows, здається, здатна створювати кілька різних типів ярликів. На даний момент я намагаюся зрозуміти ярлик папки, який існує в папці Мережні ярлики мого профілю. У Windows Explorer він відображається у вигляді папки із накладеним ярликом, переліченим типом є "Папка файлів", і двічі клацнувши по мірі, перейдіть до мережевого розташування. Перегляд його в powershell показує, що це папка, а всередині неї - файл "target.lnk".

Крім того, я часто виявляю, що у вікні Властивості інших ярликів не буде відсутнє поле "Ціль". Я думаю, це можуть бути ярлики Windows Installer. За винятком стиків та символічних посилань, чи існують інші види ярликів там? А ще краще, чи я можу ознайомитись з документацією, яка перераховує їх усі?

* редагувати: більше інформації нижче про тип ярлика, який мене в першу чергу хвилює.

Провідник бачить папку (BShacklett) як ярлик. Powershell бачить наступне:

Directory: C:\Users\bshacklett\AppData\Roaming\microsoft\windows\Network
Shortcuts\BShacklett


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
---hs        2012-06-11     10:50         75 desktop.ini
-a---        2012-06-11     10:50       1450 target.lnk

PS C:\Users\bshacklett\AppData\Roaming\microsoft\windows\Network Shortcuts> cat .\BShacklett\desktop.ini

[.ShellClassInfo]
CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
Flags=2

Подивіться мою відповідь superuser.com/a/456173/139371
Максим

Відповіді:


4

Немає повного списку, але те, що ви дивитесь, називається "ярликом папки" , папкою, яка веде себе як ярлик до іншого об'єкта і не є документацією (принаймні Microsoft).

Як ви бачили, це звичайна папка, яка містить файли desktop.iniта target.lnk. .lnkФайл регулярного файлу ярлика , який повинен бути ім'ям target.lnk, і desktop.iniмістить наступне:

[.ShellClassInfo]
CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
Flags=2

Ви можете ознайомитись з деякою інформацією про те, як обробляється Провідник у наступному записі реєстру:

HKCR\CLSID\{0AFACED1-E828-11D1-9187-B532F1E9575D}

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

Як ви можете здогадатися за фактом, на який вказує ідентифікатор класу, який використовується для створення ярликів папок shell32.dll, вони вирішуються лише Провідником і трактуються як звичайні каталоги командою-інтерпретатором (і PowerShell).

Вони не часто використовуються на практиці, але вони можуть бути дещо корисними і майже нагадують псевдонім, що приємно, оскільки старі версії Windows (наприклад, ME, 2000 та XP) не підтримували деякі типи псевдонімів, якщо взагалі. Один із способів їх автоматичного створення Explorer - це перетягування папки до меню "Пуск". Коли ви перетягуєте папку до іншої папки, панелі швидкого запуску тощо, створюється звичайний ярлик для файлів до папки, але коли ви перетягуєте її до меню «Пуск», створюється ярлик папки, який дозволяє їй бути схожим підменю (тобто розгортається).

Варто зазначити, що, хоча ви можете використовувати їх для створення розширюваних меню, вони поводяться лише так, як глибоко однорівневі. Тому створення ярлика папки до папки, введення її в іншу папку, а потім створення ярлика папки до цієї папки та розміщення її в меню не дозволить вам скласти трирівневе розширюване меню. Натомість ви отримаєте меню, яке містить папку, яка розширюється, щоб відобразити іншу папку, яка розширюється, щоб відобразити ярлик з назвою target.


Невелика корекція - 2000 і XP підтримували стики (вони були представлені з версією NTFS, яка вийшла з 2000 року). Однак вони не підтримували посилання - вони прийшли з Vista. Імовірно, ярлики папок працюють у DOS-версіях Windows (3.1 [?], 95, 98, ME) (і новіших).
Боб

@Bob, дякую; Я видалив термін з'єднання, щоб спростити його і уточнити точку. Клавіші швидкого доступу до папок працювали в ME і вище (принаймні, згідно з книгою; я насправді не перевіряв).
Synetech

Так, я начебто очікував, що він принаймні існує в 98SE. Потім знову я навіть не знав про ярлики папок до вашої відповіді.
Боб

1

Є Shortcutsпросто *.lnkфайли, і Junction/ Hard link/ Symbolic linkякі є NTFS-об'єктами. Не змішуйте їх.

Shortcutsможе бути націлена на Paths(файли та папки) та PIDL's(які не можна редагувати в інтерфейсі Explorer).


1

Окрім 4 типів, які @Maximus перерахував, є 5-й тип, які є "спеціальними" системними ярликами, визначеними в реєстрі.

Приклади цього включають такі речі, як "бібліотеки" в Windows 7, шрифти, принтери тощо.

.lnk та Junctions - специфічні для Windows (розділу NTFS). Жорсткі та символічні посилання є також у багатьох інших системах подачі документів, включаючи всі UNIX, такі як ОС (Linux, BSD, Mac тощо).

Жорсткі та символічні посилання можна налаштувати лише з командного рядка за допомогою рідних інструментів Windows. Але є відмінна надбудова Windows Explorer, яка дозволяє створювати їх. З'єднання можна створити з командного рядка або з дискової утиліти Панелі управління Windows. Посилання на посилання є специфічними для Windows Explorer.

Я дуже вважаю за краще використовувати символічні посилання для більшості цілей. Вони добре працюють із змішаним середовищем ОС та працюють із більшістю програмного забезпечення Windows.


Крім того, символічні посилання набагато більше відповідають інструментам резервного копіювання / архівації, які можна сказати виконувати за ними (я не знаю, я нічого не чув за наступними посиланнями lnk)
PPC,

Чи є у вас думки щодо типу ярлика, про який я згадував у своєму дописі? Папка з файлом target.lnk у ній?
bshacklett

@PPC: Це малоймовірно, що хто-небудь інший, окрім Windows Explorer, зрозуміє, щоб перейти за посиланнями .lnk.
Джуліан Найт

@bshacklett: Мій ноутбук Windows зараз розбитий, тому я не можу далі розслідувати. Ви спробували відкрити target.lnk за допомогою текстового редактора, щоб побачити, що знаходиться всередині? Я думаю, що Максимус дав інформацію про цей тип посилань.
Джуліан Найт

@JulianKnight: У Windows дуже важко відкривати файли lnk, тому що Windows Explorer намагається слідувати за ними та замість цього відкривати ціль. Для цього найпростіше мені відомо рішення - використовувати систему без вікон. Або ви можете натиснути правою кнопкою миші> властивості, це дасть вам більшість того, що ви хочете знати.
КПП
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.