簡體   English   中英

傳遞參數時以admin身份運行.bat文件

[英]Running .bat file as admin while passing arguments

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

我還找到了另一個選項來作為.vbs腳本來執行此操作,但是我需要從“運行”對話框中調用此.vbs文件,並且“運行”需要手動添加.vbs文件的擴展名。

在這種情況下我該怎么辦?

看一下這段代碼:

@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

如果將其放在批處理文件的頂部,則會向用戶顯示“以管理員身份執行”提示,並以admin身份重新啟動當前的批處理文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM