VirtualBoxでゲストのシャットダウンとその完了を待つ

ALL
スポンサーリンク

VirtualBoxでゲストのシャットダウンを行い、シャットダウンの完了を待つバッチファイルです。

下記の vmshutdown.bat をダブルクォーテーションでくくった仮想マシン名を引数にして実行します。

vmshutdown.bat

@echo off
setlocal ENABLEDELAYEDEXPANSION
for %%s in (%*) do call :vmshutdown %%s
goto :exit
:vmshutdown
set TARGETVM=%1
echo --- %TARGETVM%
:LOOP
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" list runningvms | find %TARGETVM% > nul
if %ERRORLEVEL% equ 0 (
 "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm %TARGETVM% acpipowerbutton > nul 2>&1
 ping 127.0.0.1 -n 4 > nul
 goto LOOP
)
exit /b 
:exit

仮想マシンは複数指定できます。

実行例

vmshutdown.bat "android4.4-test" "Windows7"

参考

Linux – VirtualboxのゲストOSをコマンドラインから操作 – Qiita

コメント