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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3815
  • Репутация:127

    [+] [-]
Буду здесь размещать свои бат-ники, которые не тянут на самостоятельный проект, но жалко потерять.
PssC (Power system settings configurator)
Скрипт для конфигурирования схем энергосбережения для Windows 10.
Частично применим для Windows 8.1
Runner
Скрипт запуска произвольного приложения из ветки HKLM\SYSTEM\Setup при старте системы.
Порядок действий:
  • Загрузиться в WinPE
  • Положить в одну папку с батником файл для запуска (*.exe *.msi *.bat)
  • Запустить батник

Что делает:
  • Сохраняет ветку реестра HKLM\SYSTEM\Setup выбранной Windows
  • Помещает в ветку реестра HKLM\SYSTEM\Setup выбранной Windows запуск батника, который:
    • Запустит выбранную программу (из п.2 "Порядок действий")
    • Восстановит ветку реестра HKLM\SYSTEM\Setup
    • Удалит себя и выбранную программу
  • Удаляет из корня выбранной Windows файл hiberfil.sys*
*однозначное определение "Спящего режима" мне неизвестно, поэтому так.
WinAutoUpd
Скрипт запрета/разрешения автоматического обновления Windows (отбирает все права у файла wuaueng.dll и препятствует, таким образом, запуску службы). Два варианта: скриптовый и чисто консольный. Для запуска требует права Администратора.
imdisk_runner
imdisk_runner (native)
Простенький API для работы с imdisk в батниках. Заточен под маппирование ISO, но легко можно добавить ключик для маппирования образов с партициями.
Используются только три файла из дистриба imdisk для каждой разрядности. Никаких следов в системе. Ничего никуда не копируется/не удаляется. Разумеется, только от имени Админа. Никаких проверок в код не вставлял для максимальной облегченности и простоты.
Для работы со службами используется утилита zDrvInst от nikzzzz (полезно при работе из WinPE, когда нет штатных sc и net)
Версия (native) использует только штатные средства sc и net
EFI
Комплект для загрузки UEFI x86/x64 с раздела FAT16/32 двухраздельной флешки (из темы UTmake).
Включает в себя дополнительный файл build_ia32.7z* с набором для самостоятельного создания загрузчика grubia32.efi
* (для загрузки этот файл не нужен и может быть удалён с раздела FAT16/32)
BIG_on_FAT
============================================================================
*** Концепция BIG_on_FAT ***
============================================================================
Для разделов дисков (в т.ч флешек) с разметкой FAT16/FAT32 существует
ограничение на размер файла - не более 4Гб. Что делать, если необходимо
разместить файл(-ы) большого размера на флешку с разметкой FAT16/FAT32?
Например, это может быть установочный контейнер install.wim(esd) или
ISO-образ сборки программ.
Предлагается следующий способ решения: создать из большого файла(-ов)
ISO-образ, разделить его на части размером менее 4Гб, эти части записать на
флешку и затем с помощью "связки" драйверов devio+imdisk создать в системе
виртуальный CD-ROM, содержащий наш большой файл(-ы).
Т.о., образ BIG_on_FAT - это разбитый на части по 4 млрд.байт ISO-файл.
Файл каждой части имеет вид: *.iso.0n, где n - номер части.
При необходимости можно восстановить исходный ISO-файл путём "склеивания"
частей. Например, командой (если образ состоял из двух частей):
copy /b image.iso.001+image.iso.002 image.iso
============================================================================
*** Подготовка образа BIG_on_FAT ***
============================================================================
1. Распаковать архив "BIG_on_FAT.7z" на раздел HDD с разметкой NTFS/exFAT;*
2. Поместить требуемый файл(-ы) в папку "Source" (создать там подпапки, если
необходимо);**
3. Выполнить "zrun.cmd";
4. Содержимое папки "Result" (будет создана в процессе работы) скопировать
на флешку.
Что делает "zrun.cmd":
- создаёт ISO-файл из содержимого папки "Source";
- разбивает его на части по 4 млрд.байт;
- для контроля целостности вычисляет CRC32-сумму для каждой части и помещает
суммы в стандартный *.sfv-файл;
- создаёт "Папку образа BIG_on_FAT" (папка "Result").
* раздел должен содержать достаточно свободного места (содержимое папки
"Source"+ISO-файл+ISO-файл разбитый на части);
** если имеется готовый образ ISO, его можно положить в папку "Source".
В этом случае этап создания ISO-файла пропускается и сразу начинается
разбивка на части. В имени ISO-файла не должно быть пробелов, символов
кириллицы и спецсимволов.
============================================================================
*** Работа с образами BIG_on_FAT ***
============================================================================
Папка образа BIG_on_FAT содержит:
- сам образ BIG_on_FAT;
- файл *.sfv, содержащий CRC32-суммы каждой части образа;
- файл запуска "zrun.cmd";
- вспомогательные папки с драйверами "x64"и "x86".
Папки с образами BIG_on_FAT могут располагаться на флешке двумя способами:
- произвольный;
- консолидированный.
------------------------------- Произвольный -------------------------------
При произвольном размещении папка имеет вид:
\Имя папки
\x64
\x86
image.iso.001
image.iso.002
image.iso.sfv
zrun.cmd
В этом случае подключение образа осуществляется запуском "zrun.cmd".
Если имелся ранее подключенный образ, то он автоматически отключается.
----------------------------- Консолидированный ----------------------------
При консолидированном размещении папка имеет вид:
\Имя папки
\x64
\x86
\Images
\Папка с образом BIG_on_FAT 1
image.iso.001
image.iso.002
image.iso.sfv
\Папка с образом BIG_on_FAT 2
image.iso.001
image.iso.002
image.iso.txt
image.iso.sfv
zrun.cmd
- таким образом, конечные папки должны содержать только сам образ без
вспомогательных папок "x64", "x86" и файла "zrun.cmd";
- папка может содержать дополнительный файл-описание вида *.iso.txt (одна
строка в кодировке Windows-1251).
При запуске "zrun.cmd" на экран выводится список доступных образов. Порядок
вывода:
- если папка не содержит файла-описания, то выводится имя самой папки;
- если папка содержит файл-описание, то выводится содержимое файла-описания.
Текущий подключенный образ помечен значком "*". При выборе образа происходит
отключение текущего (если был) и подключение выбранного. Повторный выбор
текущего подключенного образа приводит к его отключению.
Подключение образов BIG_on_FAT осуществляется к диску "U:". Если по каким-то
причинам нужно изменить букву диска, то любым текстовым редактором можно
изменить в начале файла "zrun.cmd" определение:
set "Drv=U:"
подставив вместо U нужную букву диска.
Существует возможность подключения произвольных ISO-файлов. Для этого нужно
создать папку \ISO и поместить в неё необходимые ISO-файлы:
\Имя папки
...
\ISO
zrun.cmd
Дальнейшая работа с образами аналогична описанной выше (за исключением того,
что отсутствуют файлы-описания и в списке отображается имя ISO-файла).
Использованные утилиты:
----------------------------------------------------------------------------
Kai Liu utils - http://code.kliu.org/
LTRDATA - http://www.ltr-data.se/opencode.html/
Wselect - http://www.horstmuc.de/
zDrvInst - https://usbtor.ru/viewtopic.php?t=1632
__________________
(с) 2020, Ander_73
Convert
Скрипт для подготовки размещения контента в "облаке": конвертирует побайтно (bitwise reversion) выбранный файл и добавляет чек-сумму MD5.
Выбор ранее сконвертированного файла выполняет обратную операцию и восстанавливает исходный файл.
Запуск:
- указать файл в качестве параметра;
- без параметров открывает диалоговое окно выбора файла.
Создание 2-раздельной флешки
Простенький скрипт создания двухраздельной флешки под Win10/11
- флешка разбивается на разделы FAT32 (активный, загрузочный) и exFAT/NTFS
- порядок создания: выбрать диск, ввести размер раздела FAT32 (не забываем про ограничение МС на макс. размер раздела - 32Гб), выбрать ФС для второго раздела.
Сборник твиков для Проводника


Последний раз редактировалось: Ander_73 (2022-12-15 15:07), всего редактировалось 10 раз(а)

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

    dimo70
  • 17296
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 3777
  • Репутация:27

    [+] [-]
  • Откуда: BG
Ander_73,
PssC и WinAutoUpd понял в общем как работают, полезные батники.
Вопрос о Runner. Можно какой то пример в практике как можно пользоваться.
Вот например не понял почему нужен runner для запуска программ из WinPE?

_________________
Подпись отключена за нарушение правил форума

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3815
  • Репутация:127

    [+] [-]
dimo70, начало славного пути! ag
Только там всё-в-одном. А тут функция запуска при старте вынесена в отдельный бат-ник. Который может запускать таким манером любую программу. Программа при запуске из ветки HKLM\SYSTEM\Setup стартует с правами System и до логина любого юзера.

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

    dimo70
  • 17296
  • Стаж: 6 лет 11 месяцев
  • Сообщений: 3777
  • Репутация:27

    [+] [-]
  • Откуда: BG
Ander_73,
Спасибо. Понял в чем дело.
Запустить программу с правами System перед загрузки вина. Ну тогда етот runner мигом сохраню у меня в Tools вместе с другими важными тулами. ab

_________________
Подпись отключена за нарушение правил форума

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

    korsak7
  • 107
  • Стаж: 9 лет
  • Сообщений: 1063
  • Репутация:62

    [+] [-]
Ander_73,
PssC - выход по 0 не работает

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3815
  • Репутация:127

    [+] [-]
korsak7, прикольно. Настолько сам привык просто Ентер жать, что "зевнул" глупый ляп. aa
Пофиксил.

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

    Xirobrin
  • 16748
  • Стаж: 7 лет 2 месяца
  • Сообщений: 57
  • Репутация:0

    [+] [-]
Ander_73, - Приветствую ! aa
Я правильно понял, что для запрета/разрешения (WinAutoUpd), нужно один и то же баткик запускать ?

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3815
  • Репутация:127

    [+] [-]
Xirobrin, aa
Да. Он определяет текущее состояние доступа к UsoClient.exe и либо разрешает, либо запрещает обновления.
Свитчер. Переключатель.

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

    Viktor_Kisel
  • 2625
  • Стаж: 8 лет 9 месяцев
  • Сообщений: 632
  • Репутация:46

    [+] [-]
Ander_73
WinAutoUpd - батник отрабатывает, хотя у проверенной мною Win10х64 отсутствует файлик по пути %WINDIR%\System32\UsoClient.exe
В чем секрет не могу понять?
Ведь по методу nikzzzz-а для работы батника нужно специально копировать недостающий UsoClient.exe в System32.

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3815
  • Репутация:127

    [+] [-]
70752Ведь по методу nikzzzz-а для работы батника нужно специально копировать недостающий UsoClient.exe в System32.
Сам nikzzzz, интересно, в курсе, что его метод предполагает "допиливание" ОС? af
---
Разумеется, в папке SysWOW64 этого файла нет. И не надо его туда копировать.

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

    nikzzzz
  • 215
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
Ander_73, aa
По поводу imdisk_runner
Imdisk сам умеет искать свободную букву диска при монтировании, батник можно упростить.
:mount
for /f "tokens=4" %%a in ('@"%_imdr_dir%\imdisk.exe" -a -f %2 -m #:^|find /i "Created device"') do set %3=%%a
exit /b
По поводу WinAutoUpd
Скрипт предназначен только для версий Windows 1709 и старше, неплохо было бы добавить соответствующую проверку.
Для информации Windows 1709 - версия 10.0.16299.15

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3815
  • Репутация:127

    [+] [-]
nikzzzz, aa
Упростить бат-ник можно, но уже как-то лениво. Большого смысла в этом нет. И мне просто нравится монтировать на В: (сомневаюсь, что ImDisk вообще эту букву рассматривает). И ты упускаешь важный момент: в моём случае юзер видит отработку монтирования. В твоём - весь вывод будет "проглочен". В случае возникновения какой-нибудь хитрой ошибки это может быть критично.
Насчет версии - добавлю. Автор же не указал изначально в своём методе такую тонкость! af

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3815
  • Репутация:127

    [+] [-]
WinAutoUpd обновлён (проверка версии Windows 10). В "шапку" внесено уточнение.

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3815
  • Репутация:127

    [+] [-]
Пересохранил у себя комплект из темы UTmake. В "шапке" пункт EFI.
Отличия:
  • пересобран загрузчик grubia32.efi
  • скорректирован grub.cfg
  • включен набор для самостоятельной сборки grubia32.efi

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

    Ander_73
  • 15549
  • Стаж: 7 лет 9 месяцев
  • Сообщений: 3815
  • Репутация:127

    [+] [-]
ChkFrag
При маппирование образов полезно заранее знать, фрагментирован он или нет. Набросал простенький бат-ник "обёртку" для утилиты Contig.
Файл ChkFrag.ini содержит шаблон(-ы) проверки файлов. Эти же шаблоны можно указать в командной строке через пробел или запятую (тогда файл ChkFrag.ini будет игнорироваться). Если файл фрагментирован, его можно попытаться дефрагментировать (но это больше для смеха).
Скачать

Страница 1 из 13


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

Текущее время: 23-Ноя 13:19

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


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