如何在Windows 10批处理文件中以管理员权限运行Regini?
解决方案:在批处理中以管理员权限运行Regini
可以通过两种方式实现,核心是让Regini进程获取管理员权限:
方法1:让整个批处理以管理员权限运行
在run.bat开头添加权限检查与提权代码,确保批处理本身以管理员身份启动,这样内部的Regini自然继承管理员权限:
@echo off :: 检查当前是否拥有管理员权限 fltmc >nul 2>&1 || ( :: 无权限则调用PowerShell重新以管理员身份启动当前批处理 powershell -Command "Start-Process cmd -ArgumentList '/c ""%~f0""' -Verb RunAs" exit /b ) :: 执行Regini命令,%~f0代表当前批处理的完整路径 regini "%~f0"
这段代码通过fltmc命令(仅管理员可执行)判断权限,若未获取权限则自动触发UAC提示,请求管理员权限后重新运行批处理。
方法2:单独让Regini以管理员权限运行
如果不需要整个批处理都以管理员权限运行,仅单独启动Regini时提权:
@echo off :: 用PowerShell启动Regini并赋予管理员权限 powershell -Command "Start-Process regini -ArgumentList '%~f0' -Verb RunAs"
此方法会直接弹出UAC提示,确认后以管理员身份运行Regini并传入当前批处理作为配置文件。
注意事项
- 无论哪种方法,Windows都会弹出UAC权限确认窗口,这是系统安全机制,无法绕过;
- 确保你的批处理中注册表权限语句
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies [9]语法正确,[9]对应注册表项的完全控制权限掩码。
内容的提问来源于stack exchange,提问作者nanonerd
相关产品推荐
相关产品推荐

