[Quote]

    Gemostarter
  • 15956
  • Longevity: 7 years 8 months
  • Posts: 323
  • REPUTATION:35

    [+] [-]
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]

    Gemostarter
  • 15956
  • Longevity: 7 years 8 months
  • Posts: 323
  • REPUTATION:35

    [+] [-]
68703Здесь показывает неверно (0123456789ABCDEF вместо правильного TM85014C19BP6M)
Ну это было ожидаемо. Флешки не обязаны знать свой серийник и тем более сообщать его. Или конкретно у этой другие программы читают верно?
Теперь насчёт того, что не увиделось...
sergeysvirid, Adler, подключите все проблемные накопители и выполните в комстроке

Эту команду

wmic diskdrive get name,model,serialnumber
а если выдаст ошибку "Invalid XML content", то
wmic diskdrive get name,model
и следом за ней
wmic path Win32_PhysicalMedia where "tag like '%Drive0%'" Get Tag,SerialNumber
выхлоп сюда.
Так же прикрепите скриншот раздела реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Disk\Enum
желательно чтобы значения параметров вместились на скрин целиком.
nikzzzz, Может быть, но одни только hex-символы чёт подозрительно. Да и на фото наклеек девайсов этой фирмы серийники даже близко на это не похожи.

[Quote]

    sergeysvirid
  • 104
  • Longevity: 9 years
  • Posts: 2584
  • REPUTATION:127

    [+] [-]
  • Location: 65 регион (GMT+11)
68721Ну это было ожидаемо. Флешки не обязаны знать свой серийник
Так это не флешка а хард в USB боксе.
Я вот тут подумал, а не может ли из за этого как то криво определяться серийник диска, если он подключен через внешний бокс? (что-то типа такого )
68721Или конкретно у этой другие программы читают верно?
Так я же показывал вчера выхлоп CrystalDiskInfo по этом диску: https://usbtor.ru/viewtopic.php?p=68637#68637-
68721
Теперь насчёт того, что не увиделось...
... подключите все проблемные накопители и выполните в комстроке
Эту команду
wmic diskdrive get name,model,serialnumber
Вот:
-
68721
Так же прикрепите скриншот раздела реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Disk\Enum
Вот:


Last edited by sergeysvirid on 2019-07-17 15:37; edited 2 times in total

[Quote]

    Adler
  • 1708
  • Longevity: 9 years 1 month
  • Posts: 1214
  • REPUTATION:65

    [+] [-]
  • Location: Луганск
68721подключите все проблемные накопители и выполните в комстроке
Да я и не помню уже какие проблемные, просто вспомнил, что какие то траблы были c идентификацией. Может даже и не в серийниках была суть (Джокеровский конструктор с флешки не на любой винде с какой то флешки VIP ключ принтмал, а выяснилось, что на разных виндах разный id получается. Не помню на основе чего он генерировался).
Программу запустил, а она вообще никакие флешки не видит...
P.S. USB HDD так же в программе не видится.
P.S.S. В реестре видятся все диски:
Подключил случайные:

[Quote]

    Gemostarter
  • 15956
  • Longevity: 7 years 8 months
  • Posts: 323
  • REPUTATION:35

    [+] [-]
68722а не может ли из за этого как то криво определяться серийник диска, если он подключен через внешний бокс?
Может, но CrystalDiskInfo же как-то узнаёт правильный.
sergeysvirid, Adler, Спасибо. Пока ясно только, что ничего не ясно, видимо, один из запросов к диску фейлит, и из-за этого он исключается из списка.
Слепил наскоро тестовую версию (32 бит) из того что было, это основано не на последней версии, но для теста должно хватить. Попробуйте и пришлите скрины окошек с ошибками, если они будут.
ССЫЛКА НЕДЕЙСТВИТЕЛЬНА


Last edited by Gemostarter on 2019-07-19 02:08; edited 1 time in total

[Quote]

    sergeysvirid
  • 104
  • Longevity: 9 years
  • Posts: 2584
  • REPUTATION:127

    [+] [-]
  • Location: 65 регион (GMT+11)
68724Попробуйте и пришлите скрины окошек с ошибками, если они будут.
У меня вот такое окошко вылезает:

-P.S.
По поводу того, что у Adler не видит ни одного внешнего носителя.
Не может быть такого, что прога из под UEFI (у него ж система на GPT разметке, как видно на скринах) не видит MBR диски?

[Quote]

    Gemostarter
  • 15956
  • Longevity: 7 years 8 months
  • Posts: 323
  • REPUTATION:35

    [+] [-]
68725Не может быть такого, что прога из под UEFI (у него ж система на GPT разметке, как видно на скринах) не видит MBR диски?
Нет, не может.
Ошибка при получении далеко не самой важной пачки данных. Не будет размеров физического и логического сектора, если пропускать эту ошибку. Подумаю ещё над решением.

[Quote]

    Adler
  • 1708
  • Longevity: 9 years 1 month
  • Posts: 1214
  • REPUTATION:65

    [+] [-]
  • Location: Луганск
Gemostarter, может я что-то не то или не так делаю. Просто не вникал в суть программы и то, где и как ей пользоваться.
Скачал архив, распаковал, запустил .exe соответствующей разрядности. Запускаю под рабочей ОС (Win 10 1809 LTSC 64-bit). При запуске запрашивает права админа. UAC включен.
Если теоретически в моем случае оно должно работать, то тестовый вариант смогу только завтра проверить. Если что-то не так, то сори, что морочил голову...

[Quote]

    Gemostarter
  • 15956
  • Longevity: 7 years 8 months
  • Posts: 323
  • REPUTATION:35

    [+] [-]
Adler, Не, тестовый вариант работать не обязан ab Он должен помочь мне отловить ошибку, из-за которой прога не видит ваши флешки. Должна видеть сразу после запуска, сделать что-то не так на этом этапе нельзя.

[Quote]

    Adler
  • 1708
  • Longevity: 9 years 1 month
  • Posts: 1214
  • REPUTATION:65

    [+] [-]
  • Location: Луганск
Gemostarter, на рабочем компе:

И так для каждого съемного диска (подключил 3 случайных флешки из жмени).
Дома тоже самое.

[Quote]

    Gemostarter
  • 15956
  • Longevity: 7 years 8 months
  • Posts: 323
  • REPUTATION:35

    [+] [-]
ССЫЛКА НЕДЕЙСТВИТЕЛЬНА
Проверяем, все харды и флешки должны отображаться в списке дисков.


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

[Quote]

    Adler
  • 1708
  • Longevity: 9 years 1 month
  • Posts: 1214
  • REPUTATION:65

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

[Quote]

    sergeysvirid
  • 104
  • Longevity: 9 years
  • Posts: 2584
  • REPUTATION:127

    [+] [-]
  • Location: 65 регион (GMT+11)
Gemostarter,
Приветствую! aa
Спасибо, отлично! ay Да, теперь в списке отображаются все подключенные диски и флешки. bs az

[Quote]

    Gemostarter
  • 15956
  • Longevity: 7 years 8 months
  • Posts: 323
  • REPUTATION:35

    [+] [-]
Отлично. В последней версии это не единственное изменение. Добавлена арифметика, то есть можно складывать, вычитать, умножать и делить числа, в итоговом скрипте, который будет передан diskpart, эти вычисления уже будут выполнены. Зачем? Честно говоря, понятия не имею...
Арифметические выражения должны быть заключены в фигурные скобки, например:
{ 2 + 2 * 2 }
Вкладывать выражения друг в друга нельзя! Выражение "{ {2 + 2} * 2 }" не будет вычислено, и diskpart заткнётся на строке с ним. Если нужно заключить часть выражения в скобки, используйте обычные:
{ (2 + 2) * 2 }

[Quote]

    Gemostarter
  • 15956
  • Longevity: 7 years 8 months
  • Posts: 323
  • REPUTATION:35

    [+] [-]
Встречаем версию 2.0!
Ссылка на скачивание в шапке.
Изменения в сравнении с последней бетой - функция вычисления арифметических выражений теперь самописная, полноценно работающая с целыми 64-битными числами. А не копипаст практически неподдерживаемого г*кода, считающего 32-битные float + костыли для нормальной работы в наших условиях. Плюс некоторые мелкие правки.

[Quote]

    dimo70
  • 17296
  • Longevity: 7 years
  • Posts: 3784
  • REPUTATION:27

    [+] [-]
  • Location: BG
Gemostarter, спасибо!
А что делают два скрипта, которые подключены?
Давайте еще скрипты, кто делал. ab

_________________
Signed off for violation of forum rules

Page 6 of 7


Display posts:    

Current time is: 04-Dec 02:49

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