[Quote]

    Gemostarter
  • 15956
  • Longevity: 2 years 6 months
  • Posts: 207
  • REPUTATION:31

    [+] [-]
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 и все, кого забыл упомянуть - за тестирование программы и ценные советы
Attachments

Версия 2.0



Last edited by Gemostarter on 2019-07-24 17:04; edited 8 times in total

[Quote]

    vovan1982
  • 214
  • Longevity: 4 years 8 months
  • Posts: 1101
  • REPUTATION:60

    [+] [-]
  • Location: Ростов-на-Дону
Gemostarter, было бы не плохо. Это бы расширило функционал программы.

[Quote]

    Gemostarter
  • 15956
  • Longevity: 2 years 6 months
  • Posts: 207
  • REPUTATION:31

    [+] [-]
ССЫЛКА НЕДЕЙСТВИТЕЛЬНА
Добавлена переменная #MNTP# - первая точка монтирования выбранного раздела.
Теперь программа откажется запускать скрипт с переменными, для которых у неё нет значения.
Например, если в скрипте есть #MNTP#, но выбранный раздел никуда не смонтирован, будет ошибка.
То же самое - если в скрипте есть #PART#, но никакой раздел не выбран. Или #DISK#, когда диск не выбран.
Конечно же, всё это надо где-то и как-то проверять...

[Quote]

    Gemostarter
  • 15956
  • Longevity: 2 years 6 months
  • Posts: 207
  • REPUTATION:31

    [+] [-]
ССЫЛКА НЕДЕЙСТВИТЕЛЬНА
Пофикшено определение серийного номера HDD на некоторых "хитрых" девайсах. Если у вас в пункте "Serial:" вместо нормального серийника была строка из HEX-чисел, как у Ander_73 на скриншоте из этого сообщения, обязательно проверьте.


Last edited by Gemostarter on 2019-07-17 06:21; edited 1 time in total

[Quote]

    nikzzzz
  • 215
  • Longevity: 4 years 8 months
  • Posts: 2826
  • REPUTATION:127

    [+] [-]
Gemostarter, aa
68630Если у вас в пункте "Serial:" вместо нормального серийника была строка из HEX-чисел

Раньше была hex строка "05031357E18823310294".
К стати, с помощью wmic
wmic diskdrive get serialnumber
получается именно указанная hex строка.


Last edited by nikzzzz on 2019-07-15 12:26; edited 1 time in total

[Quote]

    Gemostarter
  • 15956
  • Longevity: 2 years 6 months
  • Posts: 207
  • REPUTATION:31

    [+] [-]
nikzzzz, Эге... А CrystalDiskInfo какой пишет?
И ту hex-строку тоже не мешало бы, из старой версии. Вот ссыль на всякий: https://yadi.sk/d/nSDCLjh0C0b06w

[Quote]

    nikzzzz
  • 215
  • Longevity: 4 years 8 months
  • Posts: 2826
  • REPUTATION:127

    [+] [-]
68632И ту hex-строку тоже не мешало бы, из старой версии.
Так я и ее привел из старой версии, CrystalDiskInfo и Aida64 то-же ее пишет.


Last edited by nikzzzz on 2019-07-15 12:35; edited 1 time in total

[Quote]

    Gemostarter
  • 15956
  • Longevity: 2 years 6 months
  • Posts: 207
  • REPUTATION:31

    [+] [-]
nikzzzz, У нас случилась коллизия во времени ag
Тогда последний вопрос: на корпусе HDD (или коробке, или в доках) какой серийник?

[Quote]

    nikzzzz
  • 215
  • Longevity: 4 years 8 months
  • Posts: 2826
  • REPUTATION:127

    [+] [-]
Gemostarter,
68634на корпусе HDD (или коробке, или в доках) какой серийник?
Извини, лень ноутбук вскрывать.

[Quote]

    Gemostarter
  • 15956
  • Longevity: 2 years 6 months
  • Posts: 207
  • REPUTATION:31

    [+] [-]
nikzzzz, ладно, не так уж это и важно, примеры серийников этой фирмы нагуглил. На ту hex-строку даже не похожи. Будем пытаться из всем известных букв составить слово "счастье"...

[Quote]

    sergeysvirid
  • 104
  • Longevity: 4 years 10 months
  • Posts: 1620
  • REPUTATION:104

    [+] [-]
  • Location: 65 регион (GMT+11)
Gemostarter,
Приветствую! aa
Тестовая версия от 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:

[Quote]

    Gemostarter
  • 15956
  • Longevity: 2 years 6 months
  • Posts: 207
  • REPUTATION:31

    [+] [-]
sergeysvirid, Нда уж... Какую только чушь они туда не пихают... Будем искать другие методы. CDI же как-то справляется. Тоже, правда, не везде.

[Quote]

    Gemostarter
  • 15956
  • Longevity: 2 years 6 months
  • Posts: 207
  • REPUTATION:31

    [+] [-]
ССЫЛКА НЕДЕЙСТВИТЕЛЬНА
Проверяем новый метод запроса серийника. Белиберда как у nikzzzz в этом сообщении ещё не устранена (может, и никогда не будет), однако в остальных случаях должна определять корректно.


Last edited by Gemostarter on 2019-07-18 16:18; edited 1 time in total

[Quote]

    sergeysvirid
  • 104
  • Longevity: 4 years 10 months
  • Posts: 1620
  • REPUTATION:104

    [+] [-]
  • Location: 65 регион (GMT+11)
Gemostarter,
Приветствую! aa
Серийный номер отображает правильно на всех дисках кроме этого:

Здесь показывает неверно (0123456789ABCDEF вместо правильного TM85014C19BP6M)-И кстати, из четырёх подключенных дисков, один диск вообще не отображается в окне (в ранних версиях тоже не отображался bn ).
Хоть этот диск и не первой свежести, но ещё достаточно живой и рабочеспособный (по крайней мере для "свалки" нормально ещё подходит ag и отображается как в проводнике, так и в любых тулзах типа диск-менеджеров)

Вот данные по этому диску снятые 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:

[Quote]

    Adler
  • 1708
  • Longevity: 4 years
  • Posts: 988
  • REPUTATION:50

    [+] [-]
  • Location: Луганск
Хотел потестить, посмотреть как серийники с флешек вычитываются, т.к. пару лет назад сталкивался со странным поведением для некоторых моих флешек, но так и не догнал, что надо сделать, что бы в программе увиделись флешки...

[Quote]

    nikzzzz
  • 215
  • Longevity: 4 years 8 months
  • Posts: 2826
  • REPUTATION:127

    [+] [-]
Gemostarter,
68701 Белиберда как у nikzzzz в этом сообщении ещё не устранена (может, и никогда не будет)
Я думаю, что это не белиберда, а серийник, его показывают все утилиты, которые я пробовал.

Page 5 of 7


Display posts:    

Current time is: 22-Oct 12:57

All times are UTC + 3


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum