我如何能够自动提升我的批处理文件,以便它请求从UAC管理员的权利,如果需要的话?

我如何能够自动提升我的批处理文件,以便它请求从UAC管理员的权利,如果需要的话?

我希望我的批处理文件只运行提升。如果未提升,请为用户提供一个选项,将批处理重新启动为提升。

我正在编写一个批处理文件来设置系统变量,将两个文件复制到程序文件位置,并启动驱动程序安装程序。如果Windows 7/WindowsVista用户(UAC启用,即使他们是本地管理员)运行它没有右键单击和选择“RunasAdministrator”,他们将获得‘访问拒绝’复制两个文件和写入系统变量。

如果用户实际上是管理员,我想使用命令自动重新启动批处理。否则,如果他们不是管理员,我想告诉他们,他们需要管理员特权来运行批处理文件。我在用xCopy复制文件Reg添加若要写入系统变量,请执行以下操作。我正在使用这些命令来处理可能的WindowsXP计算机。我在这个主题上发现了类似的问题,但是没有任何问题涉及到重新启动批处理文件。



慕码人2483693
浏览 887回答 3
3回答

动漫人物

正如jcoder和Matt所提到的,PowerShell使其变得简单,甚至可以嵌入批处理脚本中,而无需创建新脚本。我修改了马特的剧本::checkPrivileges  NET FILE 1>NUL 2>NUL if '%errorlevel%' == '0' ( goto gotPrivileges  ) else ( powershell "saps -filepath %0 -verb runas" >nul 2>&1) exit /b没有任何必要:getPrivileges标签。
打开App,查看更多内容
随时随地看视频慕课网APP