有没有什么办法让批处理以管理员权限运行?

2014-05-02 11:34:00 +08:00
 bobopu
前提是win8,不使用快捷方式,让批处理以管理员权限运行。
13552 次点击
所在节点    编程
5 条回复
Just1n
2014-05-02 11:37:26 +08:00
是随时还是?
我前段时间有一个每次开机都要管理员权限运行一个批处理文件的需求,用的是windows计划任务。
bobopu
2014-05-02 12:51:18 +08:00
@Just1n 是永久。
scusjs
2014-05-02 13:38:18 +08:00
@echo off

%1 %2
ver|find "5.">nul&&goto :st
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :st","","runas",1)(window.close)&goto :eof
:st
copy "%~0" "%windir%\system32\"

这是以前不知道哪里复制的,把自己的命令加在后面就可以了
vibbow
2014-05-02 14:07:39 +08:00
@echo off

:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"
exit /B

:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------

<YOUR BATCH SCRIPT HERE>
bobopu
2014-05-02 18:48:15 +08:00
@scusjs
@vibbow 感谢二位,上班后去试一下。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/110836

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX