Думаю не ошибусь, если скажу, что всякий
продвинутый пользователь, делающий свою сборку Windows, вначале тестирует ее на виртуальной машине. Не знаю, кого как, а меня изрядно напрягает в VMWare необходимость при создании новой машины делать кучу лишних телодвижений. Пытался найти, можно ли делать это из командной строки - не нашел.
Зато нашел выход при помощи
AutoIt!
Код:
Opt("WinTitleMatchMode", 2)
if Not WinExists("VMware Workstation","") Then
Run(@ProgramFilesDir & "\VMware\VMware Workstation\vmware.exe")
Else
WinActivate("VMware Workstation","")
EndIf
WinWait("VMware Workstation","")
; ---------------------------------------------------------------------------------
; !!! обратить внимание !!!
; у AutoIt имеется некоторый бзик с эмуляцией нажатия клавиш
; если в системе по умолчанию стоит русская раскладка клавиатуры
; и надо "проиграть" английское клавиатурное сокращение,
; как, например, в данном случае Ctrl-N, то в команде Send
; надо писать русскую букву, стоящую на этой клавише
Send("^т")
; ---------------------------------------------------------------------------------
Opt("WinTitleMatchMode", 4)
ControlClick("VMware Workstation","","Button1")
;: запуск помощника
;: страница 1 - приветствие
WinWait("New Virtual Machine Wizard","This wizard will guide you thr")
Send("{ENTER}")
;: страница 2 - выбрать соответствующую конфигурацию (Типичная/Специальная)
WinWait("New Virtual Machine Wizard","Create a new virtual machine w")
Send("{ENTER}")
;: страница 3 "Guest operating system"
WinWait("New Virtual Machine Wizard","Guest operating system")
;: ControlClick("New Virtual Machine Wizard","Guest operating system","Button1")
Send("{TAB}{DOWN 4}{ENTER}")
;: страница 4 "Virtual machine name"
WinWait("New Virtual Machine Wizard","&Virtual machine name")
Send("{ENTER}")
;: страница 5 - Сеть
WinWait("New Virtual Machine Wizard","Use n&etwork address translati")
ControlClick("New Virtual Machine Wizard","Use n&etwork address translati","Button3")
Send("{ENTER}")
;: страница 6 - Емкость виртуального жесткого диска
;: устанавливается сразу 2 Gb, место на диске выделяется целиком
WinWait("New Virtual Machine Wizard","This virtual disk can never be")
Send("2{TAB}{SPACE}{TAB 3}{ENTER}")
ControlClick("New Virtual Machine Wizard","This virtual disk can never be","Button1")
Если что не так, всегда можно подправить под свои нужды. Думаю, комментарии излишни. Или нет?