thejustsoul

Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору sherba800 Я не нашел идеального варианта, все со своими плюсами и минусами.. Вот например написал такой вариант, Код: @echo off :check net session >nul 2>&1 if "%errorlevel%" equ "0" ( goto start ) else ( goto elevate ) exit /b :start rem ----------------------- echo ...your code there... echo Scripts path: "%~f0" echo.Arguments: %* pause rem ----------------------- exit /b :elevate rem powershell.exe Start-Process "%~f0" -Verb runAs powershell.exe Start-Process -FilePath "%comspec%" -ArgumentList '/c "%~f0" %*' -Verb runAs 2>nul if "%errorlevel%" neq "0" ( echo Error: Administrator privileges required! pause exit /b 1 ) exit /b | У него есть минус, нельзя передавать батнику параметры в кавычках (в powershell не шарю, может оно и можно если как-то экранировать), кавычки опускаются.. Еще оно падает, если батник имеет пробелы в имени.. Если использовать другие варианты (другие elevate exe, vbs..), то почти аналогично, с багами, как обойти это, хз. Если найдете способ это исправить, дайте знать в ПМ. |