51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

vmware 批量启动关闭虚拟机(bat 脚本)bat案例

需求:

我用自己的电脑 安装了k8s集群做测试,

每次都手动启动,有点麻烦, 所以就写了一个脚本,批量启动,停止。

在批处理(batch)脚本中,我们可以使用 REM 或 :: 来添加注释。

1- 注释

for 循环中 必须用REM 来注释, 否则出错

2- 获取变量值

%num%

3- 定义全局变量:

::定义变量
@echo off
set var1=D:\VM\5nodesk8s\10.0.0.108\10.0.0.108-master1.vmx 
set var2=D:\VM\5nodesk8s\10.0.0.109\10.0.0.109-master2.vmx

脚本文件

(1)---for 循环的 (比较推荐)-------------------------

@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" )

::定义变量 @echo off set var1=D:\VM\5nodesk8s\10.0.0.108\10.0.0.108-master1.vmx set var2=D:\VM\5nodesk8s\10.0.0.109\10.0.0.109-master2.vmx set var3=D:\VM\5nodesk8s\10.0.0.110\10.0.0.110-master3.vmx set var4=D:\VM\5nodesk8s\10.0.0.111-worker1\10.0.0.111-worker1.vmx set var5=D:\VM\5nodesk8s\10.0.0.112-worker2\10.0.0.112-worker2.vmx :: 定义 循环次数 set num=5 echo %var1%, %var2%, %var3%

@echo off :start echo 1(启动 k8s集群) echo 2 (关闭 k8s集群)

set /P var="请选择你的设置:" if %var%==1 goto start if %var%==2 goto stop

:start cls ::-------------------start 开始-------------------------------------by baimeidashu.com ------

@echo off setlocal enabledelayedexpansion

for /L %%i in (1,1,%num%) do (

echo start !var%%i!

REM "D:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -x !var%%i! "D:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -x !var%%i!

)

endlocal

::-------------------start 结束----------------------------------by baimeidashu--------- echo ** 启动完成 ** echo ------------------------------------------ pause exit

:stop cls

::-------------------stop 开始--------------------------------------by baimeidashu-----

@echo off setlocal enabledelayedexpansion

for /L %%i in (1,1,%num%) do (

echo stop !var%%i!

"D:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" stop "!var%%i!"

)

endlocal

::-------------------stop 结束----------------------------------------by baimeidashu---

echo ** stop 完成 ** echo ------------------------------------------ pause exit

(2)--未用 for 循环-----------------

脚本文件:

@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" )

@echo off :start echo 1(启动 k8s集群) echo 2 (关闭 k8s集群)

set /P var="请选择你的设置:" if %var%==1 goto start if %var%==2 goto stop

:start cls ECHO "start 白眉大叔-master231" "D:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -x "D:\3baimeidashu\1linuxVM\4k8s\baimei-10.0.0.231-master231\白眉大叔-master231.vmx"

ECHO "start 白眉大叔-master232.vmx"

"D:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -x "D:\3baimeidashu\1linuxVM\4k8s\baimei-10.0.0.232-master232\白眉大叔-master232.vmx"

ECHO "start 白眉大叔-master233.vmx"

"D:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -x "D:\3baimeidashu\1linuxVM\4k8s\baimei-10.0.0.233-master233\白眉大叔-master233.vmx"

echo ** 启动完成 ** echo ------------------------------------------ pause exit

:stop cls

ECHO "stop 白眉大叔-master231" "D:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" stop "D:\3baimeidashu\1linuxVM\4k8s\baimei-10.0.0.231-master231\白眉大叔-master231.vmx"

ECHO "stop 白眉大叔-master232.vmx"

"D:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" stop "D:\3baimeidashu\1linuxVM\4k8s\baimei-10.0.0.232-master232\白眉大叔-master232.vmx"

ECHO "stop 白眉大叔-master233.vmx"

"D:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" stop "D:\3baimeidashu\1linuxVM\4k8s\baimei-10.0.0.233-master233\白眉大叔-master233.vmx"

echo ** 关闭完成 stop ** echo ------------------------------------------ pause exit

双击运行程序:

选择 1 启动

参考:

批处理控制vmware虚拟机启动和停止

赞(5)
未经允许不得转载:工具盒子 » vmware 批量启动关闭虚拟机(bat 脚本)bat案例