Я хочу получить простой надежный метод автоматического подбора запущенной партии без использования дополнительных файлов VBS или повышенных ярлыков, предлагаемых в других потоках. Вызов диалога UAC из пакета через javascript обеспечивает короткий простой код.Простой метод запуска пакета в качестве администратора с использованием javascript
Скрипт ниже автоматической возводит пользователя с правами администратора правильно, если да выбирается в диалоге, но диалоговые ошибки всплывающие окна (за пределами окна Cmd) «Не удается найти„test.bat“». Может быть, так как путь к файлу включает пробелы? Как исправить код или подавить всплывающее сообщение об ошибке?
@echo off
:: test admin rights
>nul 2>&1 net file
echo '%errorlevel%'
MSHTA "javascript: var shell = new ActiveXObject('shell.application'); shell.ShellExecute("%~nx0", '', '', 'runas', 1);close();"
:: test admin rights
>nul 2>&1 net file
echo '%errorlevel%'
if !errorlevel! equ 0 echo Hello >%temp%\tst.txt
exit /b
Я до сих пор не могу получить его на работу, а не с «% ~ snx0», а не «% ~ dpsnx0» =/Мой рабочий каталог не то же самое, как мой сценарий директории, так что до сих пор жалуется на это не удалось найти мой .cmd. Я также заметил, что MSHTA удаляет косые черты с пути. - Я работал вокруг него, используя POPD "% ~ dp0" –