|
|
发表于 2025-2-18 23:42:11
|
显示全部楼层
本帖最后由 aloha20200628 于 2025-2-19 09:15 编辑
回复 1# zghk
以下批处代码首先检测当前是否为已提权状态,是,则转到 :gotAdm 代码段;否,则即时生成用于提权的 vbs 脚本(用后删除并退出),被传送的脚本路径和命令行参数可同时包含空格(即均可被双引号包裹)
另注》拖入文件作为命令行参数时须确保那些未含空格的文件路径不能有 &^(=) 等特殊字符...
- @echo off &fltmc>nul 2>&1
- if %errorlevel% equ 0 goto :gotAdm
- set v=%*
- setlocal enabledelayedexpansion &set "vl="
- for %%v in (!v!) do set vl=!vl! ""%%~v""
- set vl=/c "" ""%~f0"" !vl! ""
- set/p="CreateObject("Shell.Application").ShellExecute "cmd.exe", "!vl!", "", "runas", 1"<nul>"%temp%\getadmin.vbs"
- "%temp%\getadmin.vbs"
- del /q "%temp%\getadmin.vbs" &exit/b
- :gotAdm
- echo,已获得管理员身份...
- ::以下是提权后才可操作的代码
- :: ....
- ::以上是提权后才可操作的代码
- pause&exit/b
复制代码 |
|