Alexander A Manaeff -

 
 

Как создать ярлык с "относительной" ссылкой?

Все об администрировании рабочих станций Windows 95/98/NT/2000/XP/7/8. То, чего не найдешь в бескрайних просторах Интернета. Решения тех проблем, которые не решаются типовыми ответами, которые можно получить в техподдержке Майкрософта - а именно: переустановить продукт или купить какой-ть другой лицензионный диск.

Модератор: UncleFather

Как создать ярлык с "относительной" ссылкой?

Сообщение UncleFather » 29 мар 2010 11:44, Пн

Проблема:
Ярлыки в Windows используют абсолютные пути. То есть использовать ярлыки на флешке, или в какой-то структуре папок, которая может менять свое местоположение, нельзя. Это понятно: если мы задали путь E:\папка, а на другом компьютере наш флеш-драйв поимел букву диска уже M, то путь неверен, и ничего тут не попишешь.Какие решения? Их, в общих чертах, два: использовать сторонние ланчеры или командные файлы. Первое решение недостаточно гибко, а второе... Не терплю мигающие окна, которые неизбежно порождает интерпретатор cmd.exe. Есть еще vb и js скрипты. Да, это посимпатичней. Но все-таки...
Решение:
Решение состоит в вызове функции соответствующей библиотеки. Поскольку библиотеки (dll) сами по себе из командной строки не вызываются, следует использовать команду (имя программы, на самом деле) rundll32. То есть, создаем обычный ярлык, в строке запуска (поле Объект в свойствах) которого пишем строку вида: %windir%\system32\RunDll32.exe shell32.dll,ShellExec_RunDLL ".\папка\файл". Обратите внимание на точку перед первым слешем. Обязательно оставьте поле Рабочая папка пустым, и путь будет читаться относительно положения самого ярлыка.
Для перехода в родительскую папку вместо одной точки в начале надо ставить две, "..\..\" - на два уровня вверх и так далее.
Оригинал статьи
Аватара пользователя
UncleFather
Site Admin
 
Сообщения: 1256
Зарегистрирован: 17 авг 2004 17:20, Вт

Вернуться в Администрирование Windows Workstations

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Alexander A Manaeff -
@Mail.ru .