DiskPart Advanced Script ConsoleАвтор: GeStart Live a.k.a GemoStarter Системные требования: Windows XP или новее DiskPart ASC - Программа, предназначенная для упрощения использования скриптов для программы DiskPart, встроенного в Windows консольного менеджера разделов. Использование ASC устраняет необходимость всякий раз перед использованием скрипта сверяться со списком имеющихся дисков и изменять скрипт, подставляя в него номера нужных дисков и разделов. После запуска ASC будет выведен список всех доступных для работы физических дисков. После выбора диска будет выведена более детальная информация о нём, а так же список имеющихся на нём разделов. После выбора раздела будет отображена более детальная информация о нём. Выбрав диск и, если нужно, раздел, можно будет выбрать один из заранее подготовленных скриптов в выпадающем списке. После нажатия кнопки "Run Script" ASC автоматически подставит номера диска и раздела в нужные места скрипта, и передаст его присутствующему в системе diskpart.exe. ОСТОРОЖНО: В архиве с программой присутствуют два скрипта. Они удаляют с диска имеющуюся таблицу разделов (командой CLEAN), создают новую таблицу GPT или MBR (зависит от скрипта) и структуру разделов для установки Windows. Скрипты приложены, в основном, для демонстрации функционала, но полностью работоспособны, и при случайном запуске не на том диске обрекут вас на долгое и мучительное восстановление информации.
О скриптах:
Автоматическая подстановка номеров диска и раздела в скрипт достигается за счёт использования в скрипте переменных: #ANTI# - Заглушка, предотвращающая случайный запуск скрипта без ASC, рекомендуется размещать первой строкой #DISK# - Номер диска #PART# - Номер раздела #VOLU# - Номер тома, соответствующего #PART# #PSTL# - Стиль разделов диска #DISK# #GSEC# - Размер сектора #DISK# из информации о геометрии диска #PSEC# - Размер физического сектора #DISK# (не все диски его сообщают) #LSEC# - Размер логического сектора #DISK# (не все диски его сообщают) #MNTP# - Точка монтирования раздела #PART# (без конечного "\") #MNTPF№# - Свободная буква диска, № это номер свободной буквы, если букв не хватит для всех номеров, скрипт не запустится В скриптах поддерживаются простые вычисления. Выражение должно быть заключено в фигурные скобки,например: { 2 * 2 } На место этого выражения будет подставлен его результат, то есть 4. Вкладывать выражения друг в друга нельзя! Ошибки внутри выражений не проверяются, будьте внимательны. Поддерживаются операторы: ^ - Возведение в степень * - Умножение / - Деление + - Сложение - - Вычитание Не все йогурты одинаково полезны, и не все скрипты одинаково хорошо подходят для разных сценариев работы. К примеру, скрипт, написанный для MBR-дисков, будет непригоден для работы с GPT, и наоборот. Кроме того, некоторым скриптам достаточно выбрать только диск, другим же необходимо знать и раздел. Отсеять безусловно неподходящие скрипты поможет соблюдение шаблона именования: DPMGRSEAU.AnyText Собственно шаблоном здесь является DPMGRSEAU, то есть текст, располагающийся до первой точки. Всё, что находится после неё, игнорируется программой. D - Для работы скрипту необходим номер диска P - Необходим номер раздела M - Поддерживается стиль разделов MBR G - Поддерживается стиль разделов GPT R - Поддерживаются RAW-диски (без таблицы разделов) S - Поддерживаются диски со стандартным форматом сектора (512 байт как физически, так и логически) E - Поддерживаются диски с форматом сектора 512e (4096 байт физически, 512 байт логически) A - Поддерживаются диски с форматом сектора 4K (4096 байт как физически, так и логически) U - Поддерживаются диски с неизвестным форматом сектора (любые другие комбинации, в том числе если диск не сообщает размер #PSEC# и #LSEC#) Если скрипт может работать с любым стилем разделов и RAW, то можно не указывать стиль в шаблоне. Если размер сектора не играет роли, в шаблоне нужно указать 0 либо не указывать чисел вовсе. Если скрипт может работать без диска, раздела, вне зависимости от стиля разделов и размера сектора, шаблон можно оставить пустым. Можно и удалить шаблон вовсе, но во избежание неожиданного поведения лучше указать пустой. То есть .AnyText
Интерфейс:
1 - Список дисков 2 - Детальная информация о диске, выбранном в 1 3 - Список разделов на диске, выбранном в 1 4 - Детальная информация о разделе, выбранном в 3 5 - Список скриптов 6 - Запуск скрипта, выбранного в 5 7 - Запуск DiskPart без скрипта (для ручной работы)
Благодарности:
sergeysvirid, Adler, nikzzzz, vovan1982, Ander_73 и все, кого забыл упомянуть - за тестирование программы и ценные советы
Последний раз редактировалось: Gemostarter (2019-07-24 17:04), всего редактировалось 8 раз(а)
ССЫЛКА НЕДЕЙСТВИТЕЛЬНА Добавлена переменная #MNTP# - первая точка монтирования выбранного раздела. Теперь программа откажется запускать скрипт с переменными, для которых у неё нет значения. Например, если в скрипте есть #MNTP#, но выбранный раздел никуда не смонтирован, будет ошибка. То же самое - если в скрипте есть #PART#, но никакой раздел не выбран. Или #DISK#, когда диск не выбран. Конечно же, всё это надо где-то и как-то проверять...
ССЫЛКА НЕДЕЙСТВИТЕЛЬНА Пофикшено определение серийного номера HDD на некоторых "хитрых" девайсах. Если у вас в пункте "Serial:" вместо нормального серийника была строка из HEX-чисел, как у Ander_73 на скриншоте из этого сообщения, обязательно проверьте.
Последний раз редактировалось: Gemostarter (2019-07-17 06:21), всего редактировалось 1 раз
nikzzzz, Эге... А CrystalDiskInfo какой пишет? И ту hex-строку тоже не мешало бы, из старой версии. Вот ссыль на всякий: https://yadi.sk/d/nSDCLjh0C0b06w
nikzzzz, ладно, не так уж это и важно, примеры серийников этой фирмы нагуглил. На ту hex-строку даже не похожи. Будем пытаться из всем известных букв составить слово "счастье"...
Gemostarter, Приветствую! Тестовая версия от 10.07.2019 отображает так: -Новая версия от 15.07.2019 отображает так:
CrystalDiskInfo пишет так:
Enclosure : JMicron Generic USB Device (V=152D, P=0567, sa1) Model : HGST HTS545050A7E380 Firmware : GG2OAC90 Serial Number : TM85014C19BP6M Disk Size : 500,1 GB (8,4/137,4/500,1/500,1) Buffer Size : 8192 KB Queue Depth : 32 # of Sectors : 976773168 Rotation Rate : 5400 RPM Interface : USB (Serial ATA) Major Version : ATA8-ACS Minor Version : ATA8-ACS version 6 Transfer Mode : ---- | SATA/300 Power On Hours : 25719 ч Power On Count : 5338 раз Temperature : 27 C (80 F) Health Status : Хорошо Features : S.M.A.R.T., APM, 48bit LBA, NCQ APM Level : 4080h [ON] AAM Level : ---- Drive Letter : J:
ССЫЛКА НЕДЕЙСТВИТЕЛЬНА Проверяем новый метод запроса серийника. Белиберда как у nikzzzz в этом сообщении ещё не устранена (может, и никогда не будет), однако в остальных случаях должна определять корректно.
Последний раз редактировалось: Gemostarter (2019-07-18 16:18), всего редактировалось 1 раз
Gemostarter, Приветствую! Серийный номер отображает правильно на всех дисках кроме этого: Здесь показывает неверно (0123456789ABCDEF вместо правильного TM85014C19BP6M)-И кстати, из четырёх подключенных дисков, один диск вообще не отображается в окне (в ранних версиях тоже не отображался ). Хоть этот диск и не первой свежести, но ещё достаточно живой и рабочеспособный (по крайней мере для "свалки" нормально ещё подходит и отображается как в проводнике, так и в любых тулзах типа диск-менеджеров)
Вот данные по этому диску снятые CrystalDiskInfo:
Enclosure : Seagate GoFlex Desk USB Device (V=0BC2, P=50A5, sa1) - st Model : ST1000DL002-9TT153 Firmware : CC98 Serial Number : W1V19862 Disk Size : 1000,2 GB (8,4/137,4/1000,2/1000,2) Buffer Size : Неизвестно Queue Depth : 1 # of Sectors : 1953525168 Rotation Rate : 5900 RPM Interface : USB (Serial ATA) Major Version : ATA8-ACS Minor Version : ATA8-ACS version 4 Transfer Mode : SATA/300 | SATA/300 Power On Hours : 41981 ч Power On Count : 9493 раз Temperature : 42 C (107 F) Health Status : Тревога! Features : S.M.A.R.T., AAM, 48bit LBA APM Level : ---- AAM Level : D000h [OFF] Drive Letter : E:
Хотел потестить, посмотреть как серийники с флешек вычитываются, т.к. пару лет назад сталкивался со странным поведением для некоторых моих флешек, но так и не догнал, что надо сделать, что бы в программе увиделись флешки...
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы