无忧启动论坛
标题:
自动提权执行批处理模板自用版
[打印本页]
作者:
hlowld
时间:
3 天前
标题:
自动提权执行批处理模板自用版
本帖最后由 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
作者:
甲方
时间:
3 天前
学习学习
作者:
dafs
时间:
3 天前
不错 好好学习一下
作者:
aduge38
时间:
3 天前
来学习,感谢分享
作者:
蘭蘭
时间:
3 天前
谢谢分享!
作者:
guong
时间:
3 天前
学习了 谢谢
作者:
wn168cn@163.com
时间:
3 天前
感谢分享
作者:
2012zcsh
时间:
3 天前
谢谢分享。
作者:
SJ青檀
时间:
3 天前
667好用,谢谢分享
作者:
myak47
时间:
3 天前
学习了 谢谢
作者:
wwoldok
时间:
3 天前
感谢分享
作者:
小灰兔
时间:
3 天前
感谢分享
作者:
ebaqiang
时间:
前天 07:51
不错 好好学习一下
作者:
jinghexi
时间:
前天 09:13
感谢分享
作者:
肉仔
时间:
前天 15:57
学习一下!
作者:
银狼驰骋
时间:
昨天 10:35
大佬,是将这段代码放在 批处理文件代码的最前面吗
欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/)
Powered by Discuz! X3.3