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案例