http://doitq.ru/2007/01/23/otnositelnyiy-put-v-yarlyike/ — однако, описанный способ с использованием rundll32.exe не работает в Висте и Семерке.
Универсальное решение нашлось там же в комментариях:
%windir%\system32\cmd.exe /C start /B /D .\folder .\folder\program.exe
Эта команда запускает из папки folder программу program.exe. Сам ярлык должен размещаться в одной папке с folder.
Ярлык с такой ссылкой будет работать даже в том случае, если его (и папку folder) перенесут на другой компьютер.
3 ответа к “Относительный путь в ярлыке”
Итоговая строка будет выглядеть так:
start .\folder\program.exe
вместо %windir%\system32\cmd.exe
можно использовать спец. переменную %ComSpec%
Итоговая строка будет выглядеть так
%ComSpec% /c start /b /d .\folder .\folder\program.exe
Большое спасибо автору — очень выручил!
Только пара уточнений:
а) в ярлыке свойство «Рабочая папка» должно быть пустым;
б) чтобы не открывалось черное консольное окно, в свойстве «Окно» ярлыка нужно выбрать «Свернутое в значок».