嗨我做了一个批处理文件,我需要以管理员身份运行。为此,我使用这个脚本,我从here(StackOverflow)中获取。批处理文件 - 以管理员身份运行,如果不删除批处理文件?
但我想要的,是如果用户不选择以管理员身份运行(单击否UAC),那么该程序将退出,批量将其删除自动自我。
批处理文件中的命令来删除它的自我是“德尔%0”,但我需要帮助,因为到这个剧本,我可以把这个命令。 我试图把它与“@exit/B”,但然后该批处理文件将删除,如果您按是或否到UAC,然后批处理文件的其余部分不能执行
任何人都可以帮忙找出当用户按下“否”到UAC时,如何只运行命令“del%0”?
@echo off
:checkPrivileges
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' (goto gotPrivileges) else (goto getPrivileges)
:getPrivileges
if '%1'=='ELEV' (shift & goto gotPrivileges)
setlocal DisableDelayedExpansion
set "batchPath=%~0"
setlocal EnableDelayedExpansion
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%temp%\OEgetPrivileges.vbs"
ECHO UAC.ShellExecute "!batchPath!", "ELEV", "", "runas", 1 >> "%temp%\OEgetPrivileges.vbs"
"%temp%\OEgetPrivileges.vbs"
@exit /B
:gotPrivileges
谢谢你们 符文
了有没有办法做到这一点没有你的软件? – 2013-03-10 21:31:58
我怀疑没有外部可执行文件会很简单。外部工具不应该成为一个障碍,因为它是免费的。 – 2013-03-10 23:14:09
假设您有权下载软件。 – 2013-03-10 23:59:15