Цитата alpap:
а вообще (мне лично) стремно было бы держать папку с логом ((%date%), а могла бы быть и очень важная информация) »
|
возможно этот пункт мне стоит в будущем доработать, а именно если в логе ошибка - то лог или сохранять или оповещать. на данный момент сойдёт и так(в целях тестирования).
так же, возможно в будущем будет другой скрипт, который будет проверять логи на ошибки - удалять папки без ошибок, а по ошибкам оповещать, тут вариантов несколько есть и это надо будет хорошо продумать, но это уже второй вопрос.
что касается скрипта, через 2>&1 действительно работает!
вот что пишется в лог файле:
Код:

сохранение состояния и выключение вирт. машины
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
клонирование виртуального диска
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'VDI'. UUID: bc88a95e-94d4-4449-a0ae-86a5ab68ba07
запуск вирт. машины
Waiting for VM "GLPI Ёрсюўр*" to power on...
VM "GLPI Ёрсюўр*" has been successfully started.
следующие папки удалены с содержимым:
hahah
aijaf
agaig
agag
jsjooss
с кодировкой беда, т.к. файл выше - 866
а ниже, если в 1251
Код:

б®еа**Ґ*ЁҐ б®бв®п*Ёп Ё ўлЄ«озҐ*ЁҐ ўЁав. ¬*иЁ*л
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Є«®*Ёа®ў**ЁҐ ўЁавг*«м*®Ј® ¤ЁбЄ*
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'VDI'. UUID: 19aee34a-1ecc-44fa-b3d6-1b9d87da9e4a
§*ЇгбЄ ўЁав. ¬*иЁ*л
Waiting for VM "GLPI рабочая" to power on...
VM "GLPI рабочая" has been successfully started.
б«Ґ¤гойЁҐ Ї*ЇЄЁ г¤*«Ґ*л б ᮤҐа¦Ё¬л¬:
т.е. названия, что создаёт утилита, видны только в 1251. решением этого вижу называть виртуалки только английскими буквами
ну и рабочий код:
Код:

@echo off
cd /d "C:\vmbackup"
if not exist "%date%" md "%date%"
set "VB=C:\Program Files\Oracle VirtualBox\vboxmanage.exe"
set "f_GL1=GLPI рабочая-disk1.vdi"
set "f_GL2=GLPI рабочая-disk2.vdi"
set "d_GL=GLPI рабочая"
set "f_log=%date%\log.txt"
>"%f_log%" 2>&1(
@echo сохранение состояния и выключение вирт. машины
"%VB%" controlvm "%d_GL%" savestate
@echo клонирование виртуального диска
"%VB%" clonemedium "C:\Users\admin\Documents\Virtualbox VMs\%d_GL%\%f_GL1%" "%date%\%f_GL2%"
@echo запуск вирт. машины
"%VB%" startvm "%d_GL%" --type headless
"%VB%" closemedium disk "%date%\%f_GL2%"
@echo следующие папки удалены с содержимым:
for /f "skip=7 delims=" %%a in ('dir /ad/b/o-d/tc') do @echo %%a& rd /s /q "%%a"
)
который можно проапгрейдить под любое число виртуалок
всем спасибо, вопрос считаю решённым
возможно, кому-то из гугла это решение поможет, т.к. я в чистом поиске такого решения не нашёл, почему и обратился сюда.