找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23072|回复: 8

[系统相关] 请教一下,不是管理员用户,可以执行管理 员权限的批处理吗?

[复制链接]
发表于 2021-9-19 08:06:51 | 显示全部楼层 |阅读模式
请教一下,不是管理员用户,可以执行管理 员权限的批处理吗?

可以以管理员 的权限运行批处理吗。例如删除系统垃圾的的时候,有些需要 管理 员权限才可以执行,谢谢
发表于 2021-9-19 09:45:02 | 显示全部楼层
试下这个看可不可以  获取管理员权限

@echo off
setlocal enabledelayedexpansion
rem 获取计算机最高权限
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
echo 请求管理员权限...
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" )
pushd "%CD%"
CD /D "%~dp0"
发表于 2021-9-20 21:53:14 | 显示全部楼层
测试2楼的代码
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. rem 获取计算机最高权限
  4. >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
  5. if '%errorlevel%' NEQ '0' (
  6. echo 请求管理员权限...
  7. goto UACPrompt
  8. ) else ( goto gotAdmin )
  9. :UACPrompt
  10. echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
  11. echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
  12. "%temp%\getadmin.vbs"
  13. exit /B
  14. :gotAdmin
  15. if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
  16. pushd "%CD%"
  17. CD /D "%~dp0"
  18. pause
复制代码
第一种情况

C:\ _
C:\Windows\system32\cmd.exe
-  □  ×
请按任意键继续...
























第二种情况
C:\ _
C:\Windows\system32\cmd.exe
-  □  ×
请求管理员权限...
请按任意键继续...






















发表于 2021-9-21 14:58:54 | 显示全部楼层
试一试下面的

@echo off
::自动以管理员身份运行bat文件
cd /d %~dp0
%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit
pause
 楼主| 发表于 2021-10-15 13:37:58 | 显示全部楼层
回复 4# yyz219


    这个每次windows都是会提示,不能自动运行,要手动确认一下,可以跳过这个提示吗
发表于 2021-10-16 21:28:34 | 显示全部楼层
回复 5# swanseabrian

你说的是出现这个界面需要点击是按钮吗?


如果你说的是这个,可以先关闭UAC(用户账户控制)。重启生效!
 楼主| 发表于 2021-10-16 21:55:03 | 显示全部楼层
回复 6# ximen


    是的
发表于 2021-10-18 14:43:30 | 显示全部楼层
对于带有powershell的windows 7 以上的系统 ,我发现的最精简的请求以管理员运行的代码如下:
  1. net session >nul 2>&1
  2. if [%errorlevel%] neq [0] (
  3.         powershell -c "Start-Process "%0" -Verb runAs"
  4.         exit
  5. )
  6. pushd "%~dp0"
复制代码
当然,如果是要自动点yes的话就没办法了。(除了关闭UAC)
 楼主| 发表于 2021-10-18 19:29:54 | 显示全部楼层
回复 8# kingshui


    powershell是人类的希望啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 02:47 , Processed in 0.033301 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表