【CMD】bat以管理员身份运行命令

本文介绍了解决科大语音SDK在特定环境下出现的26105异常的方法。异常原因是当前用户对缓存磁盘没有写权限。文中提供了一个批处理文件的示例,演示了如何以管理员身份运行程序来解决此问题。

事件起因

  最近将语音系统配置到其他笔记本的时候出现了点问题。
  单独调科大语音接口的项目jar包在运行处理语音文件的时候报 26105 异常,查看科大sdk源码查看相关文档后,发现是本机用户对科大所设缓存的磁盘没有写入的权限。
  由于所配的笔记本只含C盘(很坑爹),种种原因,反正就是当前电脑用户无法修改C盘权限。查看笔记本的本地用户和组发现Administrator已经被禁用。右键直接运行含java命令的批处理文件也只是闪退。最后发现只能通过右键菜单中的命令行以管理员身份运行的方式,切换到当前批处理文件的路径运行该批处理文件才得以解决。

实现代码

  以上纯是个人遇到的问题。主要是为了方便销售使用,总不能让他每次切换目录命令。所以寻思直接bat以管理员身份运行的方式执行。命令如下:

@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
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"
java -jar DThread.jar // 此处替换为自己所需执行的命令即可
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值