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

Советы и рекомендации от тех кто знает и умеет, тем, кто еще только учится.

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

Сообщение Вальд » 26 фев 2015, 13:15

Собственно, в заголовке суть. Но на всяк случай уточню, в путь ярлыке вида d:\work\util.exe - абсолютный, при перемещении util.exe в другую папку\на другой диск работать не будет. Поэтому нужен относительный, работающий из любой папки.

На Windows XP это работало приблизительно так.

В пути указывалась строка вида:

Код: выделить все
%windir%\system32\RunDll32.exe shell32.dll,ShellExec_RunDLL .\work\util.exe


Но на Windows 7, увы, видимо изменились названия процедур, ибо не работает. :(

Можно, конечно, попытаться через переменную path поработать, точнее - создать свою переменную (что-то вроде %work% )и обращаться уже к ней, но мне нужен такой ярлык к объекту на флешке, которую я буду юзать на разных компах. А писать скрипт, создающий переменную на чужом компе - не комильфо, ПМСМ.

Есть у кого какие идеи\мысли по этому поводу? Как реализовать это на Win 7?
Аватар пользователя
Вальд
Продвинутый Юзер
 
Сообщений: 482
Зарегистрирован: 24 ноя 2012, 08:36
Откуда: Earth

Re: Как сделать относительный ярлык на Win 7?

Сообщение Вальд » 01 апр 2015, 13:06

Поковырялся в сети. Старый способ через rundll32 действительно не работает ещё с Windows Vista. Точнее, названия процедур на Win 7 неизвестны, если только не отключены совсем. Увы, но в Win 7 приходится работать через консоль, причём есть некоторые нюансы.

Если создавать ярлык с относительным путём в Windows 7, то размещение объекта нужно указывать нечто вроде:

Код: выделить все
 %windir%\system32\cmd.exe /C start /B /D .\Work .\Work\Util.exe


Тут следует обратить внимание на то, что параметр ".\" означает текущую папку, "..\" на уровень выше и т.д.

Похоже, что других способов сделать перемещаемый работающий ярлык (для проги на флэшке, к примеру), в семерке нет. Или же писать громоздкий скрипт, создавать\использовать переменные PATH и т.п.
Аватар пользователя
Вальд
Продвинутый Юзер
 
Сообщений: 482
Зарегистрирован: 24 ноя 2012, 08:36
Откуда: Earth


Вернуться в IT - советы, хитрости, секреты

Кто сейчас на форуме

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

cron