Описание Batch Processor for MHDD. (17.11.2002) V1.0 Что это такое. С версии MHDD 2.8.1 у пользователя появляется возможность написать небольшие командные файлы, в которых будет описаны действия MHDD БЕЗ участия оператора. Например, в таком файле могут быть описаны такие действия: 1. Переключиться на канал Secondaray Master 2. Прогнать 2 раза сканирование с ремапом. 3. Выполнить 10 раз стирание первых 1000 секторов этого диска. 4. Переключиться на канал 1 UDMA-контроллера. 5. Выполнить полную очистку диска. 6... и т.д. В этом же файле вы описываете и реакцию программы на ошибки, и вообще на любые события. Все происходящее будет описываться на экране и в файле LOG\mh_batch.log Как запускать batch? Достаточно, находясь в консоли, нажать F5, затем ввести имя пакета. Имя пакета представляет собой имя вашего batch-файла без расширения .mba. Где расположить мой batch-файл, чтобы MHDD его увидела? В подкаталоге BATCH основного каталога MHDD. Каков формат Batch-файла? Формат предельно прост. Первой строчкой batch-файла считается строка с версией, например V1.0. В остальных строках идут уже команды MHDD. Перечень и описание команд смотрите в файле batchcmd.txt. О версиях batch-файлов. В первой строчке batch-файла должна быть версия batch. Версия нужна для того, чтобы исключить внештатные ситуации, когда вы запускаете свой batch на новой mhdd, но формат команд в пакетах изменился. Поясню на примере. Допустим, вы написали batch, который стирает первые 100 секторов с диска, а потом его тестирует. И в первой строчке вашего batch-файла написано V1.0. В самом пакете первой у вас идет команда стирания. Выглядит, НАПРИМЕР, так: DRV_ADVANCED_ERASE 100, где 100 - число секторов С НУЛЯ. Допустим, этот batch работал у вас 5 лет, вы регулярно обновляли версию MHDD. Но тут мне в новой версии захотелось поменять формат команды DRV_ADVANCED_ERASE таким образом, что вместо 100 теперь вам нужно описывать и начало и конец. Тогда вам следует изменить "100" на "0 99". Но как вы узнаете о том, что в новой версии MHDD изменился формат этой команды? Ведь не все же чтитают whatsnew (хотя, по идее, это очень плохо ;) ). Поэтому, как только в новой версии MHDD ИЗМЕНИТСЯ формат какой-либо команды, версия BATCH PROCESSOR сразу же изменится, например, на V1.1. И ваш старый пакет тут же откажется работать, что должно способствовать прочтению вами новостей и внесению коррективов в batch-файл. И вы измените ваш batch файл таким образом, что он станет запускаться и в новой версии mhdd. Для этого вам надо будет: 1. Внимательно прочитать новости в readme выделить изменения формата команд. 2. Просмотреть свой batch-файл на предмет наличия таких команд, формат которых изменился. 3. Исправить свой batch-файл в соответствии с изменениями в прогамме. 4. Исправить версию batch-файла в соответствии с изменениями (например, с версии V1.0 на V1.1). Формат команд и строк. Команды можно набирать заглавными или маленькими буквами. Если команде необходимо передать параметры, они передаются сразу же за командой через 1 пробел. Например: DRV_SCAN 0 1000000 3 Комментарии в batch-файлах допустимы, однако, должны начинаться с НАЧАЛА строки. То есть, комментарием может быть только вся строка. Строка-комментарий должна начинаться с ";". Например: ; Тут мы инитим наш диск. Пример batch-файла. ;======================================================= V1.0 ;влючить подтверждения перед каждой командой ASK_ON ;прекращать тест, если возникнет ошибка HALT_ON ;сигнал по окончании каждого теста ENDSND_ON ;выбор диска из меню DRV_SELECT ;сброс диска DRV_RESET ;Seek Test 10 секунд DRV_SEEK 10 ;повтор следующей строки 2 раза REPEAT 2 ;Сканирование всего диска без ремонта. Выполнится 2 раза. DRV_SCAN MIN MAX 0 ;останов шпинделя. DRV_STOP ;======================================================= Описание команд и переменных batch-файла. Команды изменения переменных обозначаются "V" , процедуры - "P". HALT_ON - при любой ошибке завершить обработку пакета. (V) HALT_OFF - при ошибках работу пакета не завершать, а продолжить. (V) ENDSND_ON - включить звуковой сигнал по окончанию каждого теста. (V) ENDSND_OFF - выключить звуковой сигнал по окончанию каждой команды. (V) ASK_ON - спрашивать подтверждение выполнения каждой команды. (V) ASK_OFF - не спрашивать подтверждение выполнения каждой команды. (V) DRV_SELECT - вывести меню выбора диска. (P) DRV_ID - идентификация HDD. (P) DRV_RESET - сброс HDD. (P) DRV_STOP - останов шпинделя HDD. (P) SOUND X - включить динамик PC. Частота генерации - X. (P) NOSOUND - выключить динамик PC. (P) DRV_SCAN X Y Z - сканирование поверхности. (P) X - стартовый адрес LBA, вместо него можно писать "MIN" Y - конечный адрес LBA, вместо него можно писать "MAX" Z = 0 - выключить ремонт; Z = 1 - включить ремап; Z = 2 - включит "Erase Waits". DRV_PORT X - переключить IDE канал. (P) X = 1 - Primary Master X = 2 - Primary Slave X = 3 - Secondary Master X = 4 - Secondary Slave X = 5 - PC-3000 controller X = 6 - UDMA controller #1 Master X = 7 - UDMA controller #1 Slave X = 8 - UDMA controller #2 Master X = 9 - UDMA controller #2 Slave BEEP X - пищать X секунд. (P) PAUSE X - пауза X секунд. (P) REPEAT X - повтор следующей команды X раз. (V) DRV_SEEK X - запуск SeekTest на X секунд. (P) DRV_NHPA - восстановить заводской размер HDD. (P) DRV_FUJLST - сохранить P-LIST накопителя фирмы fujitsu. (P) DRV_IBME - сохранить P-LIST накопителя фирмы IBM. (P) DRV_WAIT - Ждать особождения HDD (BUSY). (P) DRV_ERASE X Y - Очистка диска с сектора X по сектор Y. (P) Вместо X можно подставить "MIN", вместо Y можно подставить "MAX".