Подтвердить что ты не робот

Возможно ли создать ярлык для относительного пути в Windows, который работает как администратор?

Чтобы создать ярлык с относительным путем, установите цель следующим образом.

%windir%\system32\cmd.exe /c start your_relpath\app.exe [your_args]

Также легко сделать программу запустимой как администратор.

Properties > Advanced > Run as administrator

Но объединение двух вместе не сработает. Когда cmd.exe запускается как admin, он теряет текущий рабочий каталог и переходит в %windir%\system32. Относительный путь начинается там, который не предназначен.

Есть ли способ сделать ярлык и относительный и запустить как admin?

4b9b3361

Ответ 1

Я не нашел простой способ, но это прекрасно. Я был обеспокоен тем, что ярлыки с абсолютными путями разрываются между компьютерами. Я не понимал, что Windows исправляет их автоматически. Это кажется достаточным, хотя относительные пути были бы более элегантными.

Хотя ярлыки, когда они созданы, указывают на определенные файлы или папки, они могут сломаться, если цель перемещена в другое место. Microsoft Windows имеет стандартные алгоритмы для исправления ярлыков при их перемещении. Windows 9x-версии Windows используют простой алгоритм поиска, чтобы исправить неисправные ярлыки. [1] В ОС Windows NT и файловой системе NTFS уникальный идентификатор целевого объекта хранится в файле ярлыков, и Windows может использовать службу отслеживания распределенных ссылок для отслеживания целей ярлыков, так что ярлык может быть тихо обновлен, если target перемещается на другой жесткий диск. [4]

http://en.wikipedia.org/wiki/File_shortcut#Microsoft_Windows

Ответ 2

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

Просто отбросьте это в "Цель" свойств ярлыка:

%COMSPEC% /C "start GoogleChromePortable.exe -enableextensions -incognito"

Ожидаемое поведение: Кратковременное окно CMD появится и закроется непосредственно перед запуском хрома.

Примечание. Параметр "Начать в:" можно оставить пустым. Также обратите внимание, что .exe находится в той же папке, что и ярлык, но переместите папку, и ярлык работает просто отлично.

Это подтверждено для работы в Win10 1607.

Кредит: некоторое другое сообщение в stackoverflow некоторое время назад.

Ответ 3

Try:

%windir%\system32\cmd.exe /c "cd your_relpath && start \app.exe [your_args]"

Сначала это изменяется на относительный путь, затем запускается приложение. && - разделитель команд.

Кроме того, мне пришлось оставить "Start In" пустым.

Примечание. Я не получил эту работу полностью, мое приложение запустится, но произойдет сбой. Поэтому я все еще могу что-то пропустить.

Источник