以管理员模式执行多个命令的bat脚本

文章描述了一种方法,通过创建临时的VBS脚本,利用Windows的Shell.Application对象以管理员权限执行Nacos、Redis服务器和DMdatabase管理工具的启动命令。脚本在执行完任务后会删除自身以保持系统整洁。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@echo off
setlocal enabledelayedexpansion

:: 定义VBS脚本用于提权
set VBS_SCRIPT=%temp%\runAsAdmin.vbs
echo Set UAC = CreateObject^("Shell.Application"^) > "%VBS_SCRIPT%"
echo UAC.ShellExecute "D:\software\nacos\bin\startup.cmd", "", "", "runas", 1 >> "%VBS_SCRIPT%"
echo Set UAC = Nothing >> "%VBS_SCRIPT%"

:: 使用VBS脚本以管理员权限启动Nacos服务
cscript //nologo "%VBS_SCRIPT%"
if errorlevel 1 (
    echo Error starting Nacos. Please check permissions or the script.
    pause
) else (
    echo Nacos started successfully.
)

:: 清理并重新定义VBS脚本内容以便于启动Redis
del /f /q "%VBS_SCRIPT%"
echo Set UAC = CreateObject^("Shell.Application"^) > "%VBS_SCRIPT%"
echo UAC.ShellExecute "D:\software\redis7.0.15\redis-server.exe", "", "", "runas", 1 >> "%VBS_SCRIPT%"
echo Set UAC = Nothing >> "%VBS_SCRIPT%"

:: 使用VBS脚本以管理员权限启动Redis服务器
cscript //nologo "%VBS_SCRIPT%"
if errorlevel 1 (
    echo Error starting Redis Server. Please check permissions or the script.
    pause
) else (
    echo Redis Server started successfully.
)

:: 清理并重新定义VBS脚本内容以便于启动DMdatabase管理工具
del /f /q "%VBS_SCRIPT%"
echo Set UAC = CreateObject^("Shell.Application"^) > "%VBS_SCRIPT%"
echo UAC.ShellExecute "D:\software\DMdatabase\source\tool\manager.exe", "", "", "runas", 1 >> "%VBS_SCRIPT%"
echo Set UAC = Nothing >> "%VBS_SCRIPT%"

:: 使用VBS脚本以管理员权限启动DMdatabase管理工具
cscript //nologo "%VBS_SCRIPT%"
if errorlevel 1 (
    echo Error starting DMdatabase Management Tool. Please check permissions or the script.
    pause
) else (
    echo DMdatabase Management Tool started successfully.
)

:: 删除临时VBS脚本
del /f /q "%VBS_SCRIPT%"
pause
exit
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值