讓bat批處理以管理員權(quán)限運行的實現(xiàn)方法
1、第一種方法
有的電腦是非管理員登錄,運行程序時,需要提示是否運行運行。解決方法如下:
@ 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開頭加上上面的命令即可 //下面是你需要執(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"
寫在bat文件的頂端就可以實現(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、自動以管理員身份運行批處理(bat)文件
在日常運維工作中,為方便對windows用戶進行系統(tǒng)安裝或配置等,使用Windows自帶的批處理(bat文件)是一種最為簡單快速的方法。
但是,批處理腳本不會默認已管理員身份運行,一般情況下,我會將腳本命名為"XXXXXX(請右鍵點擊,用管理員身份運行!).bat",但總有些用戶會忽略這條提示,直接運行,此時由于權(quán)限不足,導致腳本運行失敗。我們可以使用一種變通的方法,讓bat啟動時,首先調(diào)用vbs腳本,通過vbs腳本,以管理員身份調(diào)用該bat的 runas 部分
我們的腳本可以寫在runas 下,這樣就點擊該bat腳本,就可以已管理員身份運行了
示例代碼如下
@ECHO OFF setlocal EnableDelayedExpansion color 3e title 添加服務配置 PUSHD %~DP0 & cd /d "%~dp0" %1 %2 mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof :runas ::填寫自己的腳本 echo 執(zhí)行完畢,任意鍵退出 pause >nul exit
5、以管理員權(quán)限執(zhí)行bat腳本
只需要在你編寫的.bat文件的開頭加上以下腳本,然后雙擊.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 當前運行路徑是:%CD% echo 已獲取管理員權(quán)限
6、如何讓BAT和CMD批處理以管理員身份運行
如何讓BAT和CMD批處理以管理員身份運行?
有些批處理需要很高的權(quán)限執(zhí)行才能達到我們所需要的效果,
將以下代碼放入批處理最頂部就可以實現(xià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批處理自動以管理員身份運行的正確方法
修正了路徑有空格時的問題
在批處理開頭加上:
適用于無參數(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ù)的以此類推
運行批處理時多加一個參數(shù)::,這句就不會執(zhí)行
為了兼容8.3短路徑,可把%~0
等換成%~s0
等
理論上是沒問題,但啟動路徑有時不可靠,之后可能還要pushd
或cd /d
8、bat文件以管理員權(quá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)限運行cmd,然后dos框中運行相應的bat。
到此這篇關(guān)于讓bat批處理以管理員權(quán)限運行的實現(xiàn)方法的文章就介紹到這了,更多相關(guān)管理員權(quán)限運行bat內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。