嗨我做了一個批處理文件,我需要以管理員身份運行。爲此,我使用這個腳本,我從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