EasyNVR摄像机H5流媒体服务器在windows上批处理脚本自动以管理员权限运行
2017-09-19 17:57
549 查看
很多时候, 我们需要以管理员权限来运行批处理脚本, 比如操作 windows 服务. EasyNVR 中提供安装服务的批处理脚本, 运行这个bat文件, 自动将 EasyNVR 以 windows 服务的形式安装运行. 这样, 系统重启, 能够保证我们的程序自动启动, 不需要人为干预. 但是, 涉及到 windows 服务的安装, 在 win7 , win10 上面, 需要管理员权限来运行. 早前, 我们做的比较简单, 把程序打包发给客户的时候, 总是提醒客户, 以管理员权限运行 我们的启动脚本.
终于有一天, 我不想再发出 以管理员权限运行 这样的提醒了. 难道就不能自动以管理员权限运行吗? 答案是可以的, 于是有了这本博客.
百度搜索
最终, 我们在 stackoverflow 找到一位叫 Matt 的网友留下的 code. 通过测试, 他提供的 code 完全符合我们的需求. 下面贴出他的代码.
将我们自己的代码放到上面代码的后面, 就以保证以管理员权限运行了
如果你也在寻找让批处理自动以管员权限运行的方法, 那就试试吧.
详细说明:http://www.easydarwin.org/easynvr/
点击链接加入群【EasyNVR解决方案】:383501345
WEB:www.EasyDarwin.org
Copyright © EasyDarwin.org 2012-2017
终于有一天, 我不想再发出 以管理员权限运行 这样的提醒了. 难道就不能自动以管理员权限运行吗? 答案是可以的, 于是有了这本博客.
百度搜索
以管理员权限运行 批处理, 第一条结果来自知乎, https://www.zhihu.com/question/34541107?sort=created , 我们一开始尝试了知乎网友提供的方案, 测试发现, 知乎网友提供的方案只能在部分机器上运行正常, 另外一部分机器上, 会导致
%~dp0输出不正常. 于是, 我们放弃了这种方案. 继续寻找.
最终, 我们在 stackoverflow 找到一位叫 Matt 的网友留下的 code. 通过测试, 他提供的 code 完全符合我们的需求. 下面贴出他的代码.
:::::::::::::::::::::::::::::::::::::::::::: :: Elevate.cmd - Version 4 :: Automatically check & get admin rights :::::::::::::::::::::::::::::::::::::::::::: @echo off CLS ECHO. ECHO ============================= ECHO Running Admin shell ECHO ============================= :init setlocal DisableDelayedExpansion set cmdInvoke=1 set winSysFolder=System32 set "batchPath=%~0" for %%k in (%0) do set batchName=%%~nk set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" setlocal EnableDelayedExpansion :checkPrivileges NET FILE 1>NUL 2>NUL if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) :getPrivileges if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) ECHO. ECHO ************************************** ECHO Invoking UAC for Privilege Escalation ECHO ************************************** ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" ECHO Next >> "%vbsGetPrivileges%" if '%cmdInvoke%'=='1' goto InvokeCmd ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" goto ExecElevation :InvokeCmd ECHO args = "/c """ + "!batchPath!" + """ " + args >> "%vbsGetPrivileges%" ECHO UAC.ShellExecute "%SystemRoot%\%winSysFolder%\cmd.exe", args, "", "runas", 1 >> "%vbsGetPrivileges%" :ExecElevation "%SystemRoot%\%winSysFolder%\WScript.exe" "%vbsGetPrivileges%" %* exit /B :gotPrivileges setlocal & cd /d %~dp0 if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) :::::::::::::::::::::::::::: ::START :::::::::::::::::::::::::::: REM 把你需要运行的脚本放到下面就可以了
将我们自己的代码放到上面代码的后面, 就以保证以管理员权限运行了
如果你也在寻找让批处理自动以管员权限运行的方法, 那就试试吧.
关于EasyNVR
EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发;详细说明:http://www.easydarwin.org/easynvr/
点击链接加入群【EasyNVR解决方案】:383501345
获取更多信息
邮件:support@easydarwin.orgWEB:www.EasyDarwin.org
Copyright © EasyDarwin.org 2012-2017
![](http://www.easydarwin.org/skin/easydarwin/images/wx_qrcode.jpg)
相关文章推荐
- EasyNVR摄像机H5流媒体服务器在windows上批处理脚本自动以管理员权限运行
- EasyNVR摄像机H5流媒体服务器在windows上批处理脚本自动以管理员权限运行
- Windows服务器下设置R脚本自动运行
- 在Windows 7 下使用Visual Studio 2010 编写自动申请管理员权限运行的程序
- 批处理命令执行顺序问题与以管理员权限运行命令的手记
- Mac OS X 启动自动运行脚本 VS 命令行下连接windows共享
- 如何让.net程序自动运行在管理员权限下
- 在WIN7或者VISTA下自动使用管理员权限运行
- CentOS下SVN服务器运行,windows作为客户端连接SVN服务器失败的处理
- C# 让程序自动以管理员身份运行,请求权限【转】
- windows访问rhel7的共享,提示“您可能没有权限使用网络资源,请与这台服务器的管理员联系以查明您是否有访问权限”
- Windows下通过bat脚本实现自动上传文件到ftp服务器
- 设置C#程序在Windows 7 Vista下以管理员权限运行(转)
- windows 7下的程序 请求以管理员权限运行
- windows 下自动 ping 服务器的小脚本
- 让.net程序自动运行在管理员权限下
- Win7如何提升为管理员权限,如何开机启动需要管理员权限的程序,解决win7开机不能自动运行的问题等
- Windows 系统自动打补丁批处理脚本
- VS 中引入app.manifest(c#程序在win7及以上windows版本下以管理员权限运行方法)
- 怎样实现tomcat做服务器在windows下开机自动运行&后台运行【HOT】