Berdasarkan contoh ".ps1" (skrip Windows PowerShell) di atas, saya telah menulis file skrip ".bat" biasa untuk mengubah waktu jam di mana mesin virtual VirtualBox dimulai.
Waktu mulai yang diinginkan ditetapkan pada variabel "TEMPO_START_TIMESTAMP" dalam format zaman. Anda bisa mendapatkan setara waktu mulai epoh yang Anda inginkan di " http://www.timestampconvert.com/ ".
Nama mesin virtual VirtualBox yang akan dimulai diperlukan dalam variabel "NOME" (nomenchature yang sama yang digunakan dalam skrip ".ps1" di atas).
echo off
echo %time%
set NOME="Windows_7_x64"
set TEMPO_CS_2_MS=0
set TEMPO_S_2_MS=000
rem # Starts the VM always on the date 07/11/2014 - 11h58
rem http://www.timestampconvert.com/
set TEMPO_START_TIMESTAMP=1415361480
for /f "delims=" %%x in ('cscript /nologo toEpoch.vbs') do set epoch=%%x
rem %epoch%
set TEMPO_CURRENT_TIMESTAMP=%epoch%
rem set TEMPO_CURRENT_TIMESTAMP=1544518714
set /A TEMPO_TEMP=(%TEMPO_START_TIMESTAMP%-%TEMPO_CURRENT_TIMESTAMP%)
call set TEMPO=%TEMPO_TEMP%%TEMPO_S_2_MS%
rem %TEMPO_TEMP%
rem %TEMPO%
c:\Progra~1\Oracle\VirtualBox\VBoxManage setextradata %NOME% "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
c:\Progra~1\Oracle\VirtualBox\VBoxManage modifyvm %NOME% --biossystemtimeoffset %TEMPO%
c:\Progra~1\Oracle\VirtualBox\VBoxManage startvm %NOME%
Anda juga akan memerlukan waktu saat ini dalam format epoh, untuk ini gunakan skrip berikut (simpan sebagai "toEpoch.vbs", skrip visual basic ini dipanggil dari skrip ".bat" di atas):
WScript.Echo DateDiff("s", "01/01/1970 00:00:00", Now())
Untuk menjalankan mesin virtual, cukup jalankan file skrip ".bat" di atas. Tidak perlu membuka antarmuka "Oracle VM VirtualBox Administration".
Saya harap ini membantu.
Salam