Цитата Iska:
и что при этом происходит с последующими командами, если не использовать всякие ping/timeout. »
|
отличный вопрос! затестировал
происходит просто пауза, пока не закончится операция с предыдущей, таким образом тайм ауты и пинги не нужны
более того, VBoxManage.exe сам может создавать папку если её нет, таким образом
cmdшная команда тоже тут не нужна.
Код:

cd /d "D:\vmbackup"
if not exist "name_%date%" md "name_%date%"
в итоге, скрипт на остановку-копию-запуск будет таким:
Код:

"C:\Program Files\Oracle VirtualBox\vboxmanage.exe" controlvm "имя_виртуалки" savestate
"C:\Program Files\Oracle VirtualBox\vboxmanage.exe" clonemedium "путь_к_виртдиску\имя_виртдиска.vdi" "путь_к_копии_виртдиска\%date%\имя_виртдиска.vdi"
"C:\Program Files\Oracle VirtualBox\vboxmanage.exe" startvm "имя_виртуалки" --type headless
//повторить для других виртуальных машин
проверка скриптом количества папок в папке "D:\vmbackup" например, и, если больше 7ми, удалять самые старые по дате
запись всех итогов(достаточно просто копии всех надписей что в окне cmd прошло) в лог в этой же %date% папке в txt
выделил удаление папок, т.к. скрипт от товарища
alpap
он же, из этой же папки запущенный
так же, уважаемый товарищ
alpap, это, я так понимаю, запись в лог?
Код:

for /f "delims=" %%a in ('"VBoxManage clonemedium "исходный_путь_виртдиска\диск1.vdi" "D:\vmbackup\папка_с_датой\диск1.vdi""') do echo "%%a">>"log.txt"