[Цитировать]

    Гость
  • Репутация:0

    [+] [-]

Ещё немного обновил скрипт создания списка разделов, теперь имя накопителей как в диспетчере устройств + отображает невидимые разделы флешки

TEAM ENVI HdData=|SET$ &NL=0d 0a|PART list disk,AllDrv
FORX* %AllDrv%,CurDrv,
{* TEAM PART -devid list disk %CurDrv%,DskNam|MSTR HdNum,HdSize,HdBus=<1><2><9>%DskNam%
TEAM REGI $HKLM\SYSTEM\CurrentControlSet\Services\Disk\Enum\%CurDrv%,DskNam
TEAM SED *ni DskNam=1,Disk\&Ven_\&Prod_, ,%DskNam%|SED *ni DskNam=1,Disk\&Ven_, ,%DskNam%
TEAM SED *ni DskNam=1,\\DISK, ,%DskNam%|MSTR DskNam=<-1>%DskNam%|SED *ni DskNam=1,&Rev_, ,%DskNam%
TEAM SED *ni DskNam=1,\&Prod_,_,%DskNam%|SED DskNam=1,___, ,%DskNam%
TEAM SED DskNam=1,\\, ,%DskNam%|MSTR DskNam=<1>%DskNam%|SED DskNam=6,_, ,%DskNam%
FIND $%DskNam%=, SET DskNam=Unrecognized Drive
IFEX #%HdSize%>2G, @TEAM CALC HdSize=%HdSize%/1G#1|ENVI HdSize=%HdSize%G!IFEX #%HdSize%>2M,@TEAM CALC HdSize=%HdSize%/1M#1|ENVI HdSize=%HdSize%M
IFEX #%HdBus%=2,ENVI HdBus=(ATAPI)!IFEX #%HdBus%=3,ENVI HdBus=(ATA)!IFEX #%HdBus%=11,ENVI HdBus=(SATA)
IFEX #%HdBus%=7, TEAM ENVI HdBus=(USB_HDD)|DISK TEnvi,%CurDrv%,1|FORM TEnvi=%TEnvi%|FIND $%TEnvi%=DRIVE_USBFLASH,ENVI HdBus=(USB_Flash)
ENVI HdData=%HdData%%&NL%HD%HdNum%,%HdBus%,%HdSize%,%DskNam%
PART list part %CurDrv%,AllPrt
FORX* %AllPrt%,CurPrt,
{* TEAM SED TEnvi=1,=,1,%CurPrt%|IFEX $%Tenvi%<1,EXIT -
TEAM PART list part %CurDrv%#%CurPrt%,TEnvi|SED CurPrt=1,=,,%CurPrt%
TEAM MSTR PtSize,PtLet=<5><8>%TEnvi%|FIND $%PtLet%=,ENVI PtLet=*
ENVI HdData=%HdData%|%CurPrt%,%PtLet%,%PtSize%
}}
FILE .\HDD_data.txt
WRIT .\HDD_data.txt,$*,%HDdata%
`MESS %HDdata%
EXIT

Результат

HD0,(ATA),465.8G,ST500DM002-1BC142|1,E:,61377362944|2,F:,91974373888|3,C:,25720450560|4,D:,321027784704
HD1,(USB_HDD),58.9G,UFD 3.0 Silicon-Power64G|1,I:,52708769792|2,J:,10506731520
HD2,(USB_Flash),7.5G,JetFlash Transcend 8GB|1,H:,7024410624|2,*,1073741824
HD3,(USB_Flash),44M,Generic Flash Disk|1,G:,5242880|2,*,38797312
HD4,(SATA),223.6G, KINGSTON SUV400S|1,*,103809024|2,S:,38461767680|3,N:,201490169856
HD5,(SATA),931.5G,TOSHIBA HDWD110|1,*,103809024|2,*,44970278912|3,M:,955126906880
HD6,(USB_HDD),931.5G,HGST HTS 721010A9E630|1,*,314572800|2,*,134217728|3,O:,603921055744|4,*,943718400|5,P:,377749504000|6,*,17140023296


Последний раз редактировалось: Гость (2018-02-27 22:01), всего редактировалось 4 раз(а)

[Цитировать]

    dialmak
  • 2607
  • Стаж: 8 лет 1 месяц
  • Сообщений: 842
  • Репутация:40

    [+] [-]
conty9, Поюзал немного. Прикольная штука, но размер немного удручает, как и отсутствие нормальных доков. Второе более..

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
dialmak, размер зависит от версии, первые были 100кБ (неупакованные). Но и возможности по обработке - поскромнее. Сейчас "чистый" неупакованный PECMD весит 700кБ (если удалить из него все дополнительные фишки вроде ImDisk и загрузочных записей).
Мне нравится, что только средствами PECMD можно сделать практически всё: и данные получить, и обработать их, и окно нарисовать. И всё это будет работать в самых урезанных РЕ.
С доками (даже, имхо, не с доками, а с толковыми примерами) - сложно. Я, например, только недавно открыл для себя, что можно и подсказки внедрять (по наведению на кнопку), и, скажем, в трей нарисовать извлекалку для USB-устройств. А вот откопать, как отключить окно с предложением отформатировать новосозданный раздел - пока не смог (в авторском зашифрованном скрипте - окно не появляется).

[Цитировать]

    dialmak
  • 2607
  • Стаж: 8 лет 1 месяц
  • Сообщений: 842
  • Репутация:40

    [+] [-]
Не, ну интересная штука. Не спорю. 700 kB тоже приемлимо (жаль такая шняга только под виндой пашет, ну да ладно..).
Удручает, что нет нормального аглицкого (или я не понял) и доков. А как с кириллицей?
И если скрипт зашифрован, то тоже как то.. Эт разве коммерческий продукт? Не ну я понимаю, например Terabyte зашифровал двойным алгоритмом свои коммерческие TBScript скрипты (мол конкуреты тырят идеи), а тут почему? Хотя ты ж понимаешь, что расшифровать при желании можно все (что успешно и сделал nikzzzz).

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
dialmak, по поводу английского и руского - без проблем. Все мои утилиты - это скрипты PECMD. Нужно только выбрать правильный шрифт и кодировку. Дефолтный задаётся в ресурсе "Строковая таблица" ехе-шки, его можно менять в самом скрипте и указывать для отдельных элементов.
По поводу шифрования (точнее, упаковки с шифрованием): оно есть. А уж использовать или нет - дело того, кто пишет скрипты. Раньше можно было перехватить зашифрованный скрипт хуком, теперь нельзя. Шифровать можно всё, включая любые ресурсы внутри ехе-шки. Что может быть, например, полезно как защита от очень резвых антивирей. Все ресурсы внутри ехе-шки можно использовать из скрипта напрямую, без распаковки - будь то картинка, скрипт, любой файл. Если ресурс упакован/зашифрован - он будет распакован при обращении к нему прозрачно для пользователя.
Выложил неупакованный файл PECMD (х86), в котором удалено всё лишнее (оставил только русскую справку от avalat). Можно использовать как базу при создании своих утилит со встроенным скриптом (ресурс Script), встроенную справку для такого использования удаляем (ресурс RCdata).

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
Тестовый PECMD -> CHM от AZJIO (автоматический перевод справки на русский в формате CHM).

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 450
  • Репутация:127

    [+] [-]
Еще один вариант перевода


Последний раз редактировалось: avalat (2021-02-02 20:41), всего редактировалось 6 раз(а)

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
Пары для найти-заменить, чтобы исправить поломку после переводчика:
@ ([a-zA-Z])
@\1
\\ n(?![a-zA-Z])
\\n
% ([A-Z])
%\1
с учётом регистра
([а-я])%
\1 %
% (?=\d)
%
С подсветкой поинтересней смотреть

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]

CODE команда транскодирования

CODE [*nobom] [*transonly] [*
  • ]-srcFmt,srcfile,[*
  • ]-dstFmt,dstFile
    Для транскодирования
    *nobom не импортировать BOM
    *transonly при преобразовании между -GBK и -BIG5, не преобразовывать, а только перевести
    srcFmt исходный формат
    -dstFmt формат назначения, включая -UNICODE -UNI -UNICODEB -UNIB -ANSI -UTF8 -UTF7 -GBK -BIG5 -number- - это формат естественного отображения, а число - стандартный идентификатор кода.
    */*** перед -srcFmt указывает, что преобразуется hex-строка/PEVar
    *- указывает, что пространства спереди и сзади файла src будут преобразованы
    * перед -dstFmt указывает преобразование в hex-строку и сохранение результата в переменной dstFile совместимо с PUTF/GETF.
    Без * указывает имя файла. Некоторые специальные символы будут переданы в переменную сначала, прежде чем ссылаться на нее позже, и ее ввод может быть десятичным
    Вместе с * - может отсутствовать. Для исходного формата выберите -BOM, он будет автоматически оцениваться согласно спецификации BOM
    ** перед -srcFmt и -dstFmt указывает, что содержимое позади - это имя переменной PE.
    --------------------------------------------------------------------------------
    CODE *,B,*UNICODE,DEnvi // Преобразование ANSI => HEX (UNICODE), в примере: B => 0x42 0x00
    CODE *-UNICODE,%TEnvi%,*-,DEnvi // Преобразование HEX (UNICODE) в переменной %TEnvi% в текст (в переменной %DEnvi%), например: 0x53 0x00 => S
    CODE *,A,*ANSI,DEnvi // Преобразование ANSI => HEX (ANSI), в примере: A => 0x41
    CODE *ANSI,0x41,*,DEnvi // Преобразование HEX (ANSI) => символ, в примере: 0x41 => A
    CODE *UNICODE,0x41 0x00,*,DEnvi // Преобразование HEX (UNICODE) => символ, в примере: 0x41 0x00 => A
    CODE -ANSI,src.txt,-UNICODE,dst.txt // Преобразовать текст из src.txt (ANSI) и записать результат в dst.txt (UNICODE)
    TEAM ENVI &SS=Re|CODE **-GBK,&SS,**-UNI,DEnvi
    CODE *,data,**-GBK,DEnvi
  • SHOW команда для присвоения/удаления букв дисков

    SHOW [=1] [*&-] [DiskPart],[DrvLetter],[TimeWait],[StartDrvLetter]
    Служит для отображения removable-дисков, скрытых или несмонтированных разделов жестких дисков, существующих в системе, позволяет присваивать им буквы.
    & локальный режим, который вряд ли будет замечен другими процессами.
    * При монтировании * указывает на длительность и при размонтировании * указывает размонтировать все. В противном случае это относится к последнему.
    - указывает на размонтирование
    =1 не монтировать, если уже смонтировано.
    DiskPart может принимать значение HDNo или ID:PartNo или ID#PartNo (где No - номер)
    Используется либо HDNo, либо ID.
    Если HDNo и номер<0, указывает на все жесткие диски, флешки и USB-HDD; 0 относится к HD0, 1 - HD1, 2 - HD2 и т.д.;
    ID: может указываться как "F" (фиксированные HDD) или "U" (USB-Hdd и USB-Flash)
    PartNo(логический): число, <"0" обозначает все разделы без присвоенных букв диска, "0": все видимые разделы без букв диска, "1": первый раздел, "2": второй, "3": третий.
    Если цифра идет после #, тогда относится к физическому номеру раздела (1-4 - основные разделы и 5-N - логические разделы) DrvLetter буква диска "A...Z", если отсутствует или не установлена, будет присвоена автоматически.
    Разрешены китайские иероглифы, которые помогают уладить невосприимчивость букв дисков и сохранять секретность (не могут быть перечислены). Они могут монтироваться или размонтироваться по мере необходимости.
    TimeWait время в милисекундах, для ожидания готовности устройств, перед присвоением букв дисков.
    StartDrvLetter присваивать буквы, начиная с StartDrvLetter (например, U:)
    SHOW 0:1,H ` (или SHOW 0#1,H) присвоить HD0 Part 1 букву диска H:
    SHOW =1 1:1,S: ` (SHOW =1 1#1,S:) если не присвоена буква HD1 Part 1, тогда присвоить S:
    SHOW U:1,U ` присвоить первому разделу съемного HDD букву диска U:
    SHOW -1:0 ` присвоить буквы всем нескрытым разделам (SHOW -1:-1 - всем, включая скрытые)
    SHOW F:0 ` присвоить буквы всем нескрытым разделам на Fixed HDD (буквы будут выбраны автоматически)
    SHOW U:0,,3000 ` присвоить буквы всем removable-накопителям, ожидать 3000мс
    SHOW U:-1 ` присвоить буквы всем removable-накопителям, подключать скрытые разделы
    SHOW 0:-1 ` присвоить буквы скрытым разделам HD0
    SHOW 0:1 ` (SHOW 0#1) присвоить HD0 Part 1 букву автоматически
    SHOW - 0:1 ` (SHOW - 0#1) размонтировать HD0 Part 1
    SHOW - ,S: ` размонтировать букву диска S:
    По-умолчанию, скрытые автоматически не монтируются. Если нужно их смонтировать, установите "PartNo" как "-1".
    При размонтировании скрытых разделов используйте SHOW или SUBJ, чтобы сохранить атрибут "скрытый" для этого раздела.

    [Цитировать]

      avalat
    • 222
    • Стаж: 9 лет 2 месяца
    • Сообщений: 450
    • Репутация:127

      [+] [-]
    Настроил Notepad++ под PECMD
    В меню "Запуск" - Справка PECMD и Запуск в PECMD.
    Мелочь, но удобно. Доступнее текст, можно откатиться назад, проверяя результат,(где возможно,конечно), и т.д. (после каждой правки "Сохранить" естесстьно).
    Подсветка синтаксиса.
    Ну или,конечно, настроить свой. Я вот только сегодня почему-то додумался.

    [Цитировать]

      AZJIO
    • 17953
    • Стаж: 6 лет 1 месяц
    • Сообщений: 1264
    • Репутация:127

      [+] [-]
    avalat
    Посмотрел.
    1. notepad++.exe есть локализованный
    2. Переназначь F5 в Ctrl+F5, а на F5 повесь "Запуск файла", то есть $(FULL_CURRENT_PATH), тогда по F5 у тебя HTML запустится в браузере, BAT в cmd.exe, любой другой скрипт в своём интерпретаторе, если он конечно ассоциирован. Ну да, конечно нужно ассоциировать WCS с PECMD.exe. Ну то есть не нужно для каждого писать отдельную команду, а будет аналогично нажатию на файл в проводнике.
    3. В настройках всегда снимай Разное-> Автоопределение кодировки.

    [Цитировать]

      gera_serg
    • 1171
    • Стаж: 8 лет 8 месяцев
    • Сообщений: 1421
    • Репутация:9

      [+] [-]
    51506Тестовый PECMD -> CHM от AZJIO (автоматический перевод справки на русский в формате CHM).
    AZJIO,
    А куда подевалась описание большой части команд ?

    [Цитировать]

      AZJIO
    • 17953
    • Стаж: 6 лет 1 месяц
    • Сообщений: 1264
    • Репутация:127

      [+] [-]
    gera_serg
    Сложно подстраиваться под неоднородный синтаксис, да ещё переведённый, то есть с ещё более нарушенной однородностью, а значит доводить руками. Мне не интересно разбираться с этим,я попробовал для тренировки и для случая если повезёт.
    У тебя кстати тоже руки есть, как и у меня, дерзай )

    [Цитировать]

      gera_serg
    • 1171
    • Стаж: 8 лет 8 месяцев
    • Сообщений: 1421
    • Репутация:9

      [+] [-]
    AZJIO,
    Извини, решил что если ты взялся сделать более удобную систему помощи, доведешь до конца...
    У меня в первостепенном дерзании "видение" второго раздела моих рабочих флешек и в ядрах 8.1 (Хемом1)

    [Цитировать]

      gera_serg
    • 1171
    • Стаж: 8 лет 8 месяцев
    • Сообщений: 1421
    • Репутация:9

      [+] [-]
    А кто расскажет про команду TIPS ?
    В Хелпе не нахожу, но давно её вижу в скриптах...
    Впечатление, что английский Хелп отстал от китайских PECMD, хоть туда и его "подклеивают"

    Страница 10 из 28


    Показать сообщения:    

    Текущее время: 28-Мар 22:53

    Часовой пояс: UTC + 3


    Вы не можете начинать темы
    Вы не можете отвечать на сообщения
    Вы не можете редактировать свои сообщения
    Вы не можете удалять свои сообщения
    Вы не можете голосовать в опросах
    Вы не можете прикреплять файлы к сообщениям
    Вы можете скачивать файлы