dialmak

BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору kanua Цитата: infohd - нормально, но выделять активный раздел надо не только цветом, но и неким символом (например, звёздочкой * ), чтобы в командных файлах можно было легко искать командой find. | Так не выйдет Find не будет работать в батнике. Например так сделать не выйдет. Код: tbosdtw.exe bootitbm.tbs infohd | find "бла-бла" tbosdtw.exe bootitbm.tbs infohd > my.txt | Связано это с тем, что в начале скрипта командой txinit() включается спецрежим вывода. Перестают действовать команды перенаправления вывода и передачи вывода. Конечно можно было не включать txinit(), но он даёт возможность раскраски текста, вывода текста в нужную позицию и т.п. Собственно все команды TBScript начинающиеся с tx требуют вначале инициилизации txinit(). По поводу выделения звездочой - я не знаю где её присобачить. Все 80 строк заняты. Поэтому использовал цвет. Там можно было вывести на экран ещё много чего - но я не придумал как это отобразить. Цитата: listhd - нормально. Можно тоже выделять активные разделы цветом и неким символом. | Там нет такой возможности. Команда listhd внутренняя и показывает все диски и все разделы включая свободное место на разделах и нераспределенное (пустое) место на диске. Активный раздел она не показывает в принципе. Я использую LIST HD hdnum /f /u /s. Все ключики возможные её следующие LIST HD hdnum [/f][/u][/q][/w][/s][/a=n] /f - include free space in listing /u - include unallocated areas in listing /q - use volume sequence as volume id /w - use wide format /s - list disk signature(s) /a - alignment value in sectors (0=cylinder). А infohd не показывает нераспределенное место на диске. Связано это с тем, что infohd - это не внутренняя команда, а функция написанная мной, и чтобы отображать нераспределенное место на диске нужно усложнять и так уже непростую функцию. Плюс listhd введена специально для проверки работы infohd. Ибо она покажет всё корректно на все 100% (размеры разделов и свободного места на раздлах там выводятся автоматом с ключами /f /u) Цитата: Может объединить близкие команды infohd, listhd в одну? Пожалуй надо добавить к listhd (а может и к infohd) необязательный параметр командной строки с указанием номера диска типа listhd [hd_num] и выводить инфу только для него. Это упростит анализ возвращаемого информации командой в командных файлах | Как я писал выше - это невозможно. По крайней мере для скрипта с txinit(). Если же выбрасывать txinit(), то нужно переписывать скрипт. Хотя я не совсем понимаю зачем что-то искать в батнике. Как мы уже выяснили ранее - 2 бута на HDD держать некорректно, а если есть 2 бута на флешке и HDD, то будь добр выйми флешку и вперёд - можешь работать с бутом на HDD без необходимости выбора диска... Цитата: backup - нормально (диски не путает), но нужно добавить необязательный параметр с указанием номера диска с BootIt, когда их два, а также возможность работать в "тихом" режиме, автоматически отвечая на вопрос о перезаписи файла, Например, так: backup [-yes|-no|-all|-nonE] [imagefile [hd_num]]. Кстати, не понятно, что за вариант ответа nonE? | В данном случае бекап предназначен для 3 целей. 1. Бекап файлов бута для последующего восстановления. На всякий пожарный... 2. Если есть бекап, то можно тупо вытащить какой-то файл бута через 7-zip. 3. Если есть бекап, то можно смонтировать .IMG образ бекапа через ImDisk. А в проводнике можно посмотреть\изменить файлы или добавить файл(ы) или... Затем размонтировать и восстановить. То есть это легкий способ добавления или изменения файлов бута. [-yes|-no|-all|-nonE] - переписать | не переписывать | переписать всё | не переписывать всё Последние 2 варианта для массовой перезаписи или массовой отмены перезаписи. В данном случае они не актуальны, так как мы оперируем с 1 файлом. Для команды backup нет возможности сделать "тихую" перезапись. Ибо используется команда COPY PARTITION phyhdnum partid targetfile /b][/q] /b - setup for use with bootfile application. /q - use sequence for volume id. А в ней нет такого ключика. А для restore я сделал "тихую" перезапись. И возможно зря... В принципе можно сделать, тогда придется делать вначале образ ADD VIRTDRV filename sizeinmb, а затем его монтировать и писать в него файлы бута и размонтировать. Тогда возможно видимо сделать "тихий режим"... Но это будет бекап файлов раздела, а не раздела. Что в принципе тоже подходит ибо см. ниже. Цитата: restore - вроде не работает или работает, путая номера дисков. Вообщем есть проблема, а так как операция небезопасная дальше тестить пока не буду, а то потом не хватить время восстанавливать раздел (хоть это и не сложно). И тоже нужно добавить необязательный параметр с указанием номера диска с BootIt. Вот скриншот, который показывает, что после выполнения restore изменений на диске 0 нет. | Команда restore НЕ BOCCТАНАВЛИВАЕТ РАЗДЕЛ! Она восстанавливает ТОЛЬКО файлы из образа, созданного через backup (или уже изменённого образа). Восстановление файлов раздела и восстановление раздела - это 2 большие разницы. PBR, ID файловой системы и серийный номер раздела и т.п. не затрагиваются, переписываются только файлы. Файлы, которые не совпали по именам с файлами бекапа НЕ ЗАТРАГИВАЮТСЯ! Тут мой косяк. В помощи это не указано, хотя при операции restore это написано... В следующей версии поправлю. Так что никаких изменений на диске и не видно будет в большинстве случаев. Обнулите раздел и тогда будет видно. Добавлено: Кстати в скрипте defaultbbm.tbs [?] не используется txinit(), поэтому команды перенаправления вывода будут работать Код: tbosdtw.exe defaultbbm.tbs > my.txt tbosdtw.exe defaultbbm.tbs | find "бла-бла" |
| Всего записей: 14007 | Зарегистр. 27-04-2013 | Отправлено: 11:16 08-06-2015 | Исправлено: dialmak, 12:16 08-06-2015 |
|