2015-11-21 100 views
0

我有一個.bat文件,該文件通過添加一些命令行參數來調用第三方應用程序。現在我需要這個應用程序以管理員身份運行。我找到了一個選項來創建.bat文件的快捷方式,然後將其設置爲以admin身份運行,但是我無法以這種方式傳遞命令行參數。傳遞參數時以管理員身份運行.bat文件

我還發現另一個選項來做它作爲一個.vbs腳本,但我需要從運行對話框中調用此.vbs文件和運行需要手動添加擴展名爲.vbs文件。

在這種情況下應該怎麼做?

+3

[我如何自動提升我的批處理文件,以便它根據需要從UAC管理員權限請求?](http://stackoverflow.com/a/28467343) - 我已經鏈接了這個特定的答案。 – wOxxOm

回答

0

看看這個代碼:

@ECHO OFF 
:: this tests if the file is running as admin 
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" 
if '%errorlevel%' NEQ '0' (GOTO askAdmin) 
GOTO gotAdmin 
:askAdmin 
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" 
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges... 
goto UACPrompt 
) else (goto gotAdmin) 
:UACPrompt 
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" 
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" 
"%temp%\getadmin.vbs" 
exit /B 
:gotAdmin 
if exist "%temp%\getadmin.vbs" (del "%temp%\getadmin.vbs") 
::from this point you can execute your command as admin 

如果你把你的批處理文件的頂部,它提供了「執行爲管理員」提示用戶並重新啓動當前批處理文件管理

相關問題