用 GPT 產生的腳本,蠻好用的 XD。作用是在每次 Windows 開機時,自動監測某個 VirtualBox VM 是否已經自動運行。如果沒有運行,就自動啟動它。
需求背景是研究計畫中請了一位學弟妹幫忙,而標註程式需要用到 Windows,結果學弟家裡只能使用 Mac 囧,只好自己在 VirtualBox 上架設一個 VM。如果不這樣做,線上的 VPS 提供者所給的套餐都很貴資源又少。用 1GB 或 2GB 的 RAM 搭一個 shared vCPU core 跑 Windows,性能實在不敢想像。
自己電腦建 VM,然後把 RAM 和 Disk 切多一些,使用FRP Tunnel出去,體驗實在好太多。唯一問題就是 ADSL 有時不穩定,這點還要設法剋服。
; --- settings ---
VBoxManage := "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
VMName := "win10"
CheckIntervalMs := 1000 ; how often to check when running
BackoffAfterStartMs := 5000 ; wait a bit after starting to avoid rapid retries
; -----------------
#NoEnv
#SingleInstance, Force
SetBatchLines, -1
Loop
{
; Build: "C:...\VBoxManage.exe" list runningvms | findstr /I /C:""Win10""
Cmd := """" VBoxManage """" "list runningvms | findstr /I /C:" """""" VMName """"""
RunWait, % ComSpec " /C " Cmd, , Hide
if (ErrorLevel != 0) {
; Not found -> start headless
Run, % """" VBoxManage """ startvm """ VMName """ --type headless", , Hide
Sleep, %BackoffAfterStartMs%
} else
{
Sleep, %CheckIntervalMs%
}
}
全文連結
0 意見:
張貼留言