hlowld 发表于 2025-9-16 10:04:19

自动提权执行批处理模板自用版

本帖最后由 hlowld 于 2025-9-18 21:45 编辑

有点长,占用13行,带来的好处是:
1、关闭UAC的系统上,Users组用户执行时,不会死循环弹命令行窗口
2、支持路径中带空格和!,支持参数中带空格,例如被这样调用 "d:\my file\!)inst.cmd" "1 1" "2 2"
3、用vbs或者mshta以隐藏方式调用批处理时,提权后新的命令行窗口并不会隐藏,本模板能解决该问题,注释掉第二行即可
4、系统有powershell或者vbs即可用,在用户名为system的PE下也可用

@ECHO OFF & PUSHD "%~DP0" & set "pat=%~pnx0" & call set "flag=%windir%\temp\%%pat:\=_%%" & setlocal ENABLEDELAYEDEXPANSION
::set "hidden=1"
if /i "%username%" equ "system" goto :runas
reg QUERY "HKU\S-1-5-19" >nul 2>nul && goto :runas
set "vShow=1" & if defined hidden (set "vShow=0" & set "winstyle= -WindowStyle Hidden")
powershell /? >nul 2>nul && (set "psh=1" & set "args1=" & for %%a in (%*) do (set "arg1=%%a" & set "args1=!args1! \"!arg1!\""))
if not defined psh set "args2=" & for %%a in (%*) do (set "arg2=%%a" & set "args2=!args2! ""!arg2!""")
if not defined psh if /i "!args2!" neq "" set "args2=!args2:"""=""!"
setlocal DISABLEDELAYEDEXPANSION
dir "%flag%" >nul 2>nul && (rmdir /q /s "%flag%" >nul 2>nul & echo 提升到管理员权限失败,退出 & pause & exit) || (mkdir "%flag%" >nul 2>nul)
if defined psh (powershell -nop -Command "Start-Process cmd -Verb RunAs %winstyle% -ArgumentList '/c \""""%~f0""" %args1%\"'" >nul 2>nul && (rmdir /q /s "%flag%" >nul 2>nul & exit) || (rmdir /q /s "%flag%" >nul 2>nul & echo 提升到管理员权限失败,退出 & pause & exit)) else (
    echo CreateObject^("Shell.Application"^).ShellExecute "cmd.exe", "/c """"%~f0""%args2%""", "", "runas", %vShow% > "%temp%\T.vbs" & "%temp%\T.vbs" >nul 2>nul & del /q /f "%temp%\T.vbs" >nul 2>nul & timeout /t 3 /nobreak >nul & rmdir /q /s "%flag%" >nul 2>nul & exit)
:runas

甲方 发表于 2025-9-16 10:27:24

dafs 发表于 2025-9-16 10:45:13

不错好好学习一下

aduge38 发表于 2025-9-16 10:50:15

来学习,感谢分享

guong 发表于 2025-9-16 11:17:59

学习了 谢谢

2012zcsh 发表于 2025-9-16 15:13:02

谢谢分享。

SJ青檀 发表于 2025-9-16 15:24:01

667好用,谢谢分享{:1_186:}

myak47 发表于 2025-9-16 16:08:52

学习了 谢谢            

wwoldok 发表于 2025-9-16 16:57:00

感谢分享

小灰兔 发表于 2025-9-16 20:16:55


感谢分享

ebaqiang 发表于 2025-9-17 07:51:43

不错好好学习一下

jinghexi 发表于 2025-9-17 09:13:31

感谢分享

肉仔 发表于 2025-9-17 15:57:53

学习一下!

银狼驰骋 发表于 2025-9-18 10:35:07

大佬,是将这段代码放在 批处理文件代码的最前面吗

nie956 发表于 2025-9-19 07:21:49

非常感谢楼主分享!

fegr 发表于 2025-9-19 14:37:37

感谢分享

q68027660 发表于 2025-9-19 14:46:52

感谢分享{:1_183:}{:1_183:}{:1_183:}{:1_183:}

Yexu001 发表于 2025-9-23 12:37:21

感谢分享

jonyzhr 发表于 2025-10-19 23:05:46

正需要这个代码

jazzsozzs 发表于 2025-11-17 19:53:11

感谢分享!

xuan5757 发表于 2025-11-17 20:16:09

好东西,我顶楼主。

quan2 发表于 2025-11-17 21:11:00

谢谢分享

wsdhgd 发表于 2025-11-18 17:46:33

学习一下

bresan 发表于 2025-11-18 17:57:41

谢谢楼主分享~

cly6 发表于 2025-11-22 11:47:34

学习了,谢谢分享

MQiang 发表于 2026-3-17 20:34:37

谢谢分享..{:1_194:}

jieny 发表于 2026-3-19 12:16:24

感谢分享

e007a 发表于 2026-8-1 18:30:04

学习一下,谢谢楼主!

hh0579 发表于 2026-8-14 10:24:40

非常的感谢

magohhh 发表于 2026-8-14 12:59:53

学习了,感谢分享
页: [1] 2
查看完整版本: 自动提权执行批处理模板自用版