"Хитрые" ярлыки папок



Автор: Tarasov Costja


Как создать ярлык папки, который в проводнике будет вести себя также как папка, на которую он ссылается.


1. Создайте папку с любым именем, именно она станет впоследствии ярлыком.

2. Откройте ваш любимый текстовый редактор и введите следующее:


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

и сохраните под именем desktop.ini в созданной папке.

3. Создайте в этой папке ярлык target.lnk, он должен ссылаться на папку, на которую будет ссылаться создаваемый ярлык.

4. Установите у файла desktop.ini атрибуты Скрытый и Системный (в свойствах файла), а у папки-ярлыка - Только чтение. Проще всего это сделать при помощи Far (Ctrl+A).


Проверялось в Windows XP Home Edition и Windows 2000, но должно работать и в Windows Millenium (возможно и в других версиях).


Для простоты создания таких ярлыков привожу небольшой скрипт, позволяющий полностью автоматизировать процесс:


Dim Args, WSHShell, fso, f, TL
Set Args = WScript.Arguments
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(Args(0))
f.Attributes = f.Attributes Or 1
'Создаем файл Desktop.ini в каталоге-ссылке
Set f = fso.OpenTextFile(Args(0) + "\Desktop.ini", 2, True)
f.Write "[.ShellClassInfo]" + vbCrLf
f.Write "CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}" + vbCrLf
f.Write "Flags=2" + vbCrLf
f.Close
'Задаем ему атрибуты
Set f = fso.GetFile(Args(0) + "\desktop.ini")
f.Attributes = f.Attributes Or 2
f.Attributes = f.Attributes Or 4
'Создаем ярлык
Set TL = WSHShell.CreateShortcut(Args(0) + "\Target.lnk")
TL.TargetPath = Args(1)
'Задаем изображение иконки. В данном случае будет
'использовано изображение с номером 0 из файла Блокнота
TL.IconLocation = "%windir%\notepad.exe,0"
TL.Save

Скрипт написан на VBScript (расширение у файла должно быть .vbs). Запускать его надо с параметрами: первый параметр - путь к папке-ярлыку, второй параметр - путь к папке, на которую создается ярлык. На всякий случай предупреждаю, что путь, содержащий один или несколько пробелов, нужно заключить в кавычки.

читать еще по теме