判断DOS批处理文件是否以管理员运行

原创 2015年07月07日 13:38:28
<pre name="code" class="cpp">
@ECHO OFF&PUSHD %~DP0 &TITLE 判断DOS批处理文件是否以管理员运行
::该方法是在一些流氓软件的看到的..   很是不错
::【&&】 连接两个命令,当&&前的命令成功时,才执行&&后的命令。   
::【||】 连接两个命令,当||前的命令失败时,才执行||后的命令。
Rd "%WinDir%\system32\test_permissions" >NUL 2>NUL
Md "%WinDir%\System32\test_permissions" 2>NUL||(Echo 请使用右键管理员身份运行!&&Pause >nul&&Exit)
Rd "%WinDir%\System32\test_permissions" 2>NUL

echo 当前是管理员运行了
pause >NUL && EXIT






第二个办法,,  可能会误判, 不过几率很小

@echo off

echo 程序文件目录是 "%~dp0"
echo 程序工作目录是 "%cd%"
echo 判断目录是 "%windir%\system32"
echo.
::win8.1_x64测试, 下面的if语句
::如果加/i参数, 则当批处理文件在"%windir%\system32"路径下时, 会误判是管理员运行
::如果不加/i参数(如下), 则当批处理文件在"%windir%\system32"路径下时, 判断还是正确的
::原因不明
if "%cd%" == "%windir%\system32" (
	echo 当前 是管理员 运行的!
) else (
	echo 当前 不是管理员 运行的!
)
echo.
pause>nul


上述方法, 仅为本人试验结果,  如果大家有更好办法,  欢迎交流

版权声明:本文为博主原创文章,未经博主允许不得转载。

批处理命令获取管理员的权限

1、 cls @echo off title 获取管理员权限 mode con cols=100 lines=20 color 3f :: 开始获取管理员权限 setlocal ...
  • u011269801
  • u011269801
  • 2017年04月28日 14:23
  • 2017

管理员权限运行批处理的几种方法

废话不说。解决win7运行批处理出错不能注册dll等问题。 1.在批处理的第一行加入:cd /d %~dp0 然后在批处理上右键选择使用管理员权限运行。 2.右键任务栏,选择资源管理器,进程选项卡...
  • nxeexn
  • nxeexn
  • 2011年11月04日 17:30
  • 45150

cmd/bat如何自动请求管理员权限而不需要右键管理员运行

先上完整代码: @echo off >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system...
  • lijialong1313
  • lijialong1313
  • 2017年01月07日 10:56
  • 4425

C# WinForm判断程序是否以管理员身份运行

如果程序不是以管理员身份运行,操作本地文件会提示:System.UnauthorizedAccessException异常   Vista 和 Windows 7 操作系统为了加强安全,增加了 ...
  • lcawen
  • lcawen
  • 2013年01月23日 16:59
  • 2298

判断进程是否以管理员权限运行(***)

判断进程是否以管理员权限运行,讨论管理员权限与UAC开启和关闭、登录的用户类型之间的关系...
  • chenlycly
  • chenlycly
  • 2015年05月01日 15:32
  • 8999

判断进程是否"以管理员身份运行"

bool IsRunAsAdministrator(DWORD dwProcessId, bool bCurrentProcess) { bool bIsElevated = false; ...
  • hellokandy
  • hellokandy
  • 2016年08月02日 20:23
  • 680

C#程序以管理员权限运行

C#程序以管理员权限运 在Vista 和 Windows 7 及更新版本的操作系统,增加了 UAC(用户账户控制) 的安全机制,如果 UAC 被打开,用户即使以管理员权限登录,其应用程序默认情况...
  • huwei2003
  • huwei2003
  • 2014年04月21日 10:35
  • 19168

判断程序是否是以 管理员 身份运行 visual c++

// 判断本程序是否是以管理员身份运行的 //BY :暗影行者 // date: 20110716 BOOL ExeIsAdmin() { #define ACCESS_READ 1 #...
  • lanmo555
  • lanmo555
  • 2013年10月22日 10:17
  • 1116

c#程序以管理员权限运行

C#程序以管理员权限运行 在Vista 和 Windows 7 及更新版本的操作系统,增加了 UAC(用户账户控制) 的安全机制,如果 UAC 被打开,用户即使以管理员权限登录,其应用程序默认情况下...
  • windowsliusheng
  • windowsliusheng
  • 2016年02月02日 09:01
  • 1351

C# WinForm在Win7系统中以管理员权限运行

在VS2010  IDE开发环境中,查看当前项目中是否包含了app.manifest文件,如果没有,则添加“应用程序清单文件”。 双击此文件,发现其是一xml格式的文件,有节点如下:     ...
  • after2010
  • after2010
  • 2013年05月09日 15:19
  • 7182
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:判断DOS批处理文件是否以管理员运行
举报原因:
原因补充:

(最多只允许输入30个字)