溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)現(xiàn)bat批處理以管理員權(quán)限運(yùn)行的方法

發(fā)布時(shí)間:2020-08-20 09:29:22 來(lái)源:億速云 閱讀:13781 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)如何實(shí)現(xiàn)bat批處理以管理員權(quán)限運(yùn)行的方法的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。

1、第一種方法

有的電腦是非管理員登錄,運(yùn)行程序時(shí),需要提示是否運(yùn)行運(yùn)行。解決方法如下:

@ echo off
%1 %2
ver|find "5.">nul&&goto :Admin
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
:Admin
//在你的bat開(kāi)頭加上上面的命令即可
//下面是你需要執(zhí)行的命令
set path=%~dp0
echo install mysql service...
echo %path%
cd %path%\bin\
mysqld.exe --remove mysql
mysqld.exe --install mysql
echo start mysql Serviceo
"%SystemRoot%"\system32\net start mysql

2、bat腳本獲取管理員權(quán)限

@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"

寫(xiě)在bat文件的頂端就可以實(shí)現(xiàn)。

3、bat腳本中以管理員權(quán)限執(zhí)行命令

在bat腳本文件第一行加上下面命令:

%1 mshta vbscript:CreateObject(“Shell.Application”).ShellExecute(“cmd.exe”,"/c %~s0 ::","",“runas”,1)(window.close)&&exit

4、自動(dòng)以管理員身份運(yùn)行批處理(bat)文件

在日常運(yùn)維工作中,為方便對(duì)windows用戶進(jìn)行系統(tǒng)安裝或配置等,使用Windows自帶的批處理(bat文件)是一種最為簡(jiǎn)單快速的方法。

但是,批處理腳本不會(huì)默認(rèn)已管理員身份運(yùn)行,一般情況下,我會(huì)將腳本命名為"XXXXXX(請(qǐng)右鍵點(diǎn)擊,用管理員身份運(yùn)行!).bat",但總有些用戶會(huì)忽略這條提示,直接運(yùn)行,此時(shí)由于權(quán)限不足,導(dǎo)致腳本運(yùn)行失敗。我們可以使用一種變通的方法,讓bat啟動(dòng)時(shí),首先調(diào)用vbs腳本,通過(guò)vbs腳本,以管理員身份調(diào)用該bat的 runas 部分

我們的腳本可以寫(xiě)在runas 下,這樣就點(diǎn)擊該bat腳本,就可以已管理員身份運(yùn)行了

示例代碼如下

@ECHO OFF
setlocal EnableDelayedExpansion
color 3e
title 添加服務(wù)配置
 
PUSHD %~DP0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof
:runas
 
::填寫(xiě)自己的腳本
 
echo 執(zhí)行完畢,任意鍵退出
 
pause >nul
exit

5、以管理員權(quán)限執(zhí)行bat腳本

只需要在你編寫(xiě)的.bat文件的開(kāi)頭加上以下腳本,然后雙擊.bat文件即是以管理員權(quán)限執(zhí)行

@echo off&color 17
if exist "%SystemRoot%\SysWOW64" path %path%;%windir%\SysNative;%SystemRoot%\SysWOW64;%~dp0
bcdedit >nul
if '%errorlevel%' NEQ '0' (goto UACPrompt) else (goto UACAdmin)
:UACPrompt
%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit
exit /B
:UACAdmin
cd /d "%~dp0"
echo 當(dāng)前運(yùn)行路徑是:%CD%
echo 已獲取管理員權(quán)限

6、如何讓BAT和CMD批處理以管理員身份運(yùn)行

如何讓BAT和CMD批處理以管理員身份運(yùn)行?

有些批處理需要很高的權(quán)限執(zhí)行才能達(dá)到我們所需要的效果,

將以下代碼放入批處理最頂部就可以實(shí)現(xiàn)以管理員身份運(yùn)行了。

@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
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" )

7、命令行CMD批處理自動(dòng)以管理員身份運(yùn)行的正確方法

修正了路徑有空格時(shí)的問(wèn)題

在批處理開(kāi)頭加上:

適用于無(wú)參數(shù)

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit

適用于一參數(shù)

%2 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" "^&chr(34)^&"%~1"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit

更多參數(shù)的以此類(lèi)推
運(yùn)行批處理時(shí)多加一個(gè)參數(shù)::,這句就不會(huì)執(zhí)行
為了兼容8.3短路徑,可把%~0等換成%~s0
理論上是沒(méi)問(wèn)題,但啟動(dòng)路徑有時(shí)不可靠,之后可能還要pushdcd /d

8、bat文件以管理員權(quán)限運(yùn)行的幾種方式

1、創(chuàng)建bat快捷方式,然后右鍵快捷方式-->properties-->advanced-->Run as administrator。
2、下載bat轉(zhuǎn)成exe工具,將bat轉(zhuǎn)成exe,然后右鍵exe-->properties-->Compatibility-->Run as administrator。
3、以管理員權(quán)限運(yùn)行cmd,然后dos框中運(yùn)行相應(yīng)的bat。

感謝各位的閱讀!關(guān)于如何實(shí)現(xiàn)bat批處理以管理員權(quán)限運(yùn)行的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI