bat win7 檢測程式是否已管理員身份執行

2021-06-08 23:00:00 字數 1458 閱讀 3970

感謝各位的幫助。雖然還是沒有找到好的辦法來請求管理員許可權,但是已經找到了測試當前批處理是否具有管理員許可權的辦法。

辦法1 寫入檔案法

向system32資料夾寫入臨時檔案,若能寫入成功,則說明批處理具有管理員許可權,否則說明不具有。

**如下:

c/c++ code

@echo off

rem 建立檔案路徑

settempfile_name

=%systemroot

%\system32\battestuacin_sysrt

%random

%.batemp

echo

%tempfile_name

%rem 寫入檔案

( echo

"bat test uac in temp

">%

tempfile_name%)

1>

nul

2>

nulrem 判斷寫入是否成功

ifexist

%tempfile_name%(

echo 正在以管理員身份執行當前批處理

) else

(echo 沒有以管理員身份執行當前批處理

)pause

rem 刪除臨時檔案

del

%tempfile_name%1

>

nul

2>

nulecho 按空格鍵退出……

pause

>

nul

方法2 視窗標題判斷法

以管理員身份執行的批處理,設定標題後,標題前方會提示 "管理員:  " ,可判斷特定視窗標題所對應的程序名是否為cmd.exe 來確認批處理是否以管理員身份執行。**如下:

c/c++ code

@echo off

title bat

setlocal enabledelayedexpansion

rem 設定標誌變數

setuac=0

rem 獲取tasklist命令輸出

for /f

"usebackq delims=="%%

i in (`tasklist

/fi

"windowtitle eq 管理員: bat

"`) do (

set"cmdline=%%i

"set

"cmdline=!cmdline:~0,7!"if

"!cmdline!"==

"cmd.exe"(

setuac=1)

)if"%uac%"==

"1"(

echo 正在以管理員身份執行當前批處理

) else

(echo 沒有以管理員身份執行當前批處理

):end

pause

exit

WIN7設定始終已管理員身份執行

方法一 1.在桌面的計算機上滑鼠右鍵管理 2.左側的控制台樹依次展開到 計算機管理 本地 系統工具 本地使用者和組 使用者 3.雙擊右邊視窗中的名稱為administration的賬戶 4.開啟了administration屬性的介面,在常規選項下將賬戶已禁用的勾去掉,這樣就開啟了administr...

Win7下要求以管理員許可權執行程式

win7終於發布了 在開啟uac的時候,在win7中執行程式預設是以一種許可權較低的方式執行的,但是在這種方式下,我們有些操作會失敗 比如修改登錄檔,監聽埠,往系統目錄寫入檔案等 要實現這些操作,就需要我們以管理員許可權執行程式了。當然,只有在程式上右鍵,選擇 以管理員執行 就可以,不過如何讓程式自...

如何讓程式在win7下獲得管理員許可權

vs2010編寫的程式可以執行時獲取管理員許可權 但是如果是vs2010以前的程式呢?方法1 移植到vs2010上了 方法2 1 按照 vs2010與win7共舞 uac與資料重定向 上述方法,隨便寫乙個vs2010工程,編譯,在這個工程的debug目錄下會有兩個檔案 exe.embed.manif...