提升批处理文件权限后运行剩余代码:使用 mshta 和临时批处理文件
要在批处理文件中提升权限后运行剩下的内容,你可以使用以下命令结合你提供的'mshta'命令:
@echo off
cd /d '%~dp0'
echo %~dp0
echo %cd%
:: 提升权限
mshta vbscript:CreateObject('Shell.Application').ShellExecute('cmd.exe','/c "%~dp0temp.bat"','%~dp0','runas',1)(window.close)&&exit
:: 剩下的批处理文件内容
echo 批处理文件已经以管理员权限运行
pause
在这个例子中,我在批处理文件中创建了一个临时的批处理文件'temp.bat',并通过'mshta'命令来提升权限运行该临时批处理文件。'/c'参数用于在新的CMD窗口中运行'temp.bat','runas'参数用于提升权限。
你需要将剩下的批处理文件的内容写入'temp.bat'文件中,这样它将在以管理员权限运行的新的CMD窗口中执行。
请确保将'temp.bat'文件与主批处理文件放在同一目录下,并将剩下的批处理文件内容写入'temp.bat'。修改完成后,执行主批处理文件,它将以管理员权限运行剩下的部分。
希望这能帮到你。如果还有其他问题,请随时提问。
原文地址: https://www.cveoy.top/t/topic/bKuD 著作权归作者所有。请勿转载和采集!