dialmak
BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору nik4z Цитата: А там тонкостей особых нет? .run - как я понял, аналог батника, можешь привести пример скрипта, который бы спрашивал согласие на восстановление (y/n), далее и запускал image.exe с нужными параметрами. Как написать такой батник я знаю, интересует именно специфика, не нужно-ли удваивать "\" , экранировать спец. символы и т.п. А простой батник не смог добавить как пункт загрузочного меню, поддерживаются только .run или .tbs | Архивчик с 3 скриптами. Вариант с скриптом RUN тривиален, но у него есть недостатки. С ним нельзя проконтролировать код возврата (по крайней мере я не нашёл как). Имхо ненадёжно. Код: exec image.exe /r /d:b0@0x1 /f:b0@0x3:"\Backup-b0-0x1-XP" /nvn:"" /vb /um /ui /uy /nocan | Варианты с скриптом TBS более сложны, но и более гибкие. Экранирование для TBS описано в доках Код: ^' Single quote ^" Double quote ^^ A single caret character | Пример 1. RESTOS1.TBS - Script restore OS Windows for IFD (GUI) DOS/TBOS/BootItBM. Скрипт для использования в DOS/TBOS/BootIt BM, в том числе и в меню запуска ОС BootIt BM. В случае успешного восстановления будет запуск ОС или "тихий" возврат в вызывающую прогу, если неудача - сообщение о ошибке (и возврат в меню выбора ОС или в вызывающую прогу). Недостаток - нужно указывать имя архива и параметры восстановления. Код: // RESTOS1.TBS - Script restore OS Windows for IFD (GUI) DOS/TBOS/BootItBM // Please edit the variable param_restore to your needs! // by dialmak sub main() //========================================================================= app_mouse = "MOUSE.COM" app_image = "IMAGE.EXE" param_restore = "/r /d:b0@0x1 /f:b0@0x3:^"\Backup-b0-0x1-XP^" /vb /um /ui /uy /nocan" //========================================================================= cls() exec (app_mouse) retres=exec (app_image # " " # param_restore,1) if retres<>0 then printl("") printl("Error! Restore OS Windows failure!") f = findfirst("bootitbm.ini") if len(f) > 0 then ext("set ini bootitbm.ini Options ResumeB") end if printl("Press <Enter> to return...") while getkey()<>13 wend end if end sub | Пример 2. RESTOS2.TBS - Script restore OS Windows for IFD (GUI) DOS/TBOS/BootIt BM. Скрипт для использования в DOS/TBOS/BootIt BM, в том числе и в меню запуска ОС BootIt BM. В случае успешного восстановления будет сообщение, если неудача - тоже сообщение о ошибке и возврат в вызывающую прогу. Куча проверок, что уменьшает ошибки, контроль лог файла, возможность просмотра лога при ошибке и т.д. Недостаток - нужно указывать имя архива и параметры восстановления. Скрипт есть в архиве. Также можно сделать скрипт который не привязан к имени архива TBI, а просматривает разделы и если найден раздел с определённым ID (например 39/27h для NTFS, который винда считает разделом восстановления или 18/12h для FAT, который винда считает OEM разделом.), то использует TBI оттуда, можно и с возможностью выбора какого именно архива. Как ещё один вариант - если помнишь, при восстановлении IFD можно сохранить комстроку в текстовый файл. Можно слепить скрипт, который её читает. И т.д. Не делал ибо тебе вряд ли такое нужно. Опции /vb /um /ui /uy /nocan - проверять байт в байт (увелчит время восстановления в 2 раза), не спрашивать глупости (при перезаписи раздела и т.д.) и запретить отмену операции (типа защита от дурака). Возможно полезной будет опция /simple - посмотри в PDF Вариант с горячей клавишей после BIOS описан здесь How To Set Up A Hidden Recovery Partition , там описание и готовые имиджы. В видео показана установка 7 с разделом восстановления для варианта гор. клавиши после BIOS. Добавлено: Скрины для RESTOS2.TBS, но думаю тебе лучше подойдёт вариант RESTOS1.TBS. Также показан вариант защиты от другого дурака. | Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 22:20 19-05-2016 | Исправлено: dialmak, 08:57 20-05-2016 |
|