Запустите файл скрипта от имени администратора - PullRequest
2 голосов
/ 31 марта 2011

У меня есть этот скрипт .vbs, который я пытаюсь запустить на Windows 7. Он должен работать с полными разрешениями и должен делать это автоматически. Чтобы быть понятным, когда пользователь дважды щелкает файл, он получит приглашение «разрешить запуск файла от имени администратора», а затем запустится с полными разрешениями.

Для этого я создал командный файл (run.bat), который вызывает файл сценария

cscript "V02.vbs"
pause

затем я создал ярлык для командного файла, который я могу выбрать для запуска с правами администратора.

Проблема, с которой я сталкиваюсь сейчас, состоит в том, что при запуске командного файла от имени администратора папка меняется на c \ windows \ system32. Сценарий, командный файл и ярлык находятся в одной папке. Есть ли способ получить местоположение папки?

Ответы [ 2 ]

2 голосов
/ 31 марта 2011

Возможно, меня неправильно поняли ...

Самым простым решением было бы "жестко закодировать" этот путь в файл исправления с помощью - cd \ path \ to \ my \ script cscript myscript.vbs pause

1 голос
/ 20 мая 2011

Используйте « модификаторы с пакетными параметрами ».Из связанной документации:

% ~ dp1 Расширяет% 1 до буквы диска и пути.

Поскольку %0 - это ваш сценарий, %~dp0 - это то, что выwant:

cscript "%~dp0V02.vbs"
pause

Обратите внимание, что% ~ dp0 включает в себя завершающую обратную косую черту, поэтому имя вашего файла v02.vbs, приведенное выше, становится довольно трудночитаемым.

...