|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Скрипт для WIM архивов. Создание-редактирование. |
|
CMD/BAT - [решено] Скрипт для WIM архивов. Создание-редактирование.
|
Забанен Сообщения: 795 |
Скрипт для удобной работы с wim архивами програмкой imagex.exe в Total Commander. Монтирует образ в папку, а папку в диск(subst) и открывает в TotalCommander-e.
Монтировать можно только для чтения или с возм. записи(для чего собсна и задумывалось). Размонтировать тоже, с сохранением результатов или без(понятно, что если был смонтирован read-only, то в любом случае ничего не сохранится). Т.к. программа imagex.exe работает с драйвером, то есть проверочка на драйвер и если не установлен, то ставится. Потом монтируется образ. В архиве все есть: программа и драйверы для работы в WinXP и W7. Выше не пробовал. x64 тоже проверял только в WinXP. Скрипт принимает путь к wim архиву и подключает как диск
@echo off rem для работы с WIM архивами. Монтирует образы WIM в разных режимах(RO\RW) для изменения или просмотра. rem на вход скрипту - путь к нужному wim архиву, затем выбрать что делать(монтировать/демонтировать) и дальше rem диск для subst куда будет подключен каталог с архивом. rem для демонтажа - тоже путь к архиву и выбрать с записью изменений(WR) или без(5). rem Все делалось в/для TotalCommander chcp 866 > nul if "%1"=="" goto :NoParam cd /d "%~dp0" set imgpath=%1 set fpath=%~dp1 set fname=%~n1 set mfolder=%ALLUSERSPROFILE%\WIMmount rem Указать диск для subst set vdisk=M rem echo %1 rem Проверка - установлен ли драйвер WimFltr.sys и если нет - то устанавливает rem нужна только один раз . Если драйвер установлен - можно закоментировать НАХ ! if not exist "%ProgramFiles(x86)%" goto :CHECK_DRIVER_x86 goto :CHECK_DRIVER_x64 :A echo ^ ---------------------------------------------------- echo ^ ^| ^| echo ^ ^| ¤¤¤ Что будем делать (mount/unmount) ? ¤¤¤ ^| echo ^ ^| ^| echo ^ ^| 1 - Mount Image ^| echo ^ ^| 5 - UnMount Image ( Don`t Save Changes ) ^| echo ^ ^| 9 - Mount Read/Write ^| echo ^ ^| WR - UnMount ( WRITE Changes ) ^| echo ^ ---------------------------------------------------- subst echo Q - exit set /p S=Сделайте выбор (1 , 5 , 9 , WR) if /i %S% EQU 1 call :MOUNTRO if /i %S% EQU 5 call :UMOUNT if /i %S% EQU 9 call :MOUNTRW if /i %S% EQU WR call :UMOUNTWR if /i %S% EQU Q call :EXIT echo ^ ---------------------------------------------- echo ^ ^| ERROR ! not a valid choice ! ^| echo ^ ---------------------------------------------- pause goto A :MOUNTRO echo Please Enter Drive letter for "subst" (Virtual Disk) set /p vdisk=just Letter: M ; o ; W if not exist "%mfolder%\%fname%" md "%mfolder%\%fname%" imagex.exe /mount %imgpath% 1 "%mfolder%\%fname%" if %ERRORLEVEL% neq 0 echo Что-то здесь не так ! Ошибочка - Imagex ERRORLEVEL: %ERRORLEVEL%&pause&exit if not exist %vdisk%:\nul subst %vdisk%: "%mfolder%" start "" %COMMANDER_PATH%\TOTALCMD.EXE /O /T /S /R=%vdisk%:\ exit :MOUNTRW echo Please Enter Drive letter for "subst" (Virtual Disk) set /p vdisk=just Letter: M ; o ; W if not exist "%mfolder%\%fname%" md "%mfolder%\%fname%" imagex.exe /mountrw %imgpath% 1 "%mfolder%\%fname%" if %ERRORLEVEL% neq 0 echo Что-то здесь не так ! Ошибочка - Imagex ERRORLEVEL: %ERRORLEVEL%&pause&exit if not exist %vdisk%:\nul subst %vdisk%: %mfolder% start "" %COMMANDER_PATH%\TOTALCMD.EXE /O /T /S /R=%vdisk%:\ exit :UMOUNT imagex.exe /unmount "%mfolder%\%fname%" && rd /s /q "%mfolder%\%fname%" pause exit :UMOUNTWR imagex.exe /unmount /commit "%mfolder%\%fname%" && rd /s /q "%mfolder%\%fname%" pause exit rem ************************************************************************************************************************** :CHECK_DRIVER_x86 driverquery|find /i "wimfltr" > nul if %ERRORLEVEL%==0 goto A else ( echo ************************************************************* echo ^ У Вас не установлен необходимый для работы драйвер ! echo ^ Сейчас поставлю... ;-] echo ************************************************************* if exist %ProgramData% ( start/wait %SYSTEMROOT%\System32\InfDefaultInstall.exe %~dp0x86\wimfltr.inf ) else ( start/wait %SYSTEMROOT%\System32\rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %~dp0x86\wimfltr.inf ) echo Подождите пока закончится процесс установки драйвера ... echo Когда закроется окно устaновщика нажмите любую клавишу... ) pause goto A rem ************************************************************************************************************************** :CHECK_DRIVER_x64 driverquery|find /i "wimfltr" > nul if %ERRORLEVEL%==0 goto A else ( echo ************************************************************* echo ^ У Вас не установлен необходимый для работы драйвер ! echo ^ Сейчас поставлю... ;-] echo ************************************************************* if exist %ProgramData% ( start/wait %SYSTEMROOT%\System32\InfDefaultInstall.exe %~dp0x64\wimfltr.inf ) else ( start/wait %SYSTEMROOT%\System32\rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %~dp0x64\wimfltr.inf ) echo Подождите пока закончится процесс установки драйвера ... echo Когда закроется окно устaновщика нажмите любую клавишу... ) pause goto A rem ************************************************************************************************************************** :NoParam echo ^=================================== echo %~nx0. Command Line ERROR "%*" echo ==================================== exit /b 1 :EXIT exit + скриптег для создания WIM архивов из папки. Можно добавить в конт. меню или кнопку в TotalCommander. В путях не должно быть пробелов. imagex+scripts download |
|
Отправлено: 14:47, 12-11-2016 |
Старожил Сообщения: 168
|
Профиль | Отправить PM | Цитировать x0r, вы не пробовали wimlib?
|
------- Отправлено: 10:30, 13-11-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Забанен Сообщения: 795
|
не, не слышал. Хорошая штука, забрал. Есть тут штука /optimise полезная. А то странные эти WIM архивы: при редактировании-удалении размер растет. Доводишь до нужного(работает как надо), а потом надо перепаковывать в новый архив, шобы размер уменьшить. Эта wimlib вроде справляется, уменьшает готовый архив.
буду пробовать. |
Отправлено: 16:43, 14-11-2016 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата x0r:
|
|
Отправлено: 20:27, 14-11-2016 | #4 |
Забанен Сообщения: 795
|
Не-а
![]() |
|
Отправлено: 22:31, 14-11-2016 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать x0r, причина ровно одна — производительность. Особенности: данные реально не удаляются, а лишь помечаются как удалённые; запись единицы данных увеличенного объёма (по отношению к старой) производится как пометка на удаление старой единицы данных и добавление новой единицы данных. Варианты реализации могут отличаться друг от друга в зависимости от формата базы и используемой модели (реляционная, иерархическая) данных. Для реального удаления (и, соответственно, уплотнения данных) используется отдельная, занимающая достаточно много времени, операция, поскольку требует чтения и записи всего объёма данных.
|
Отправлено: 00:19, 15-11-2016 | #6 |
Забанен Сообщения: 795
|
Понял. Удивляться больше не буду. буду читать, изучать. Ключевых слов дадено достаточно.
Благодарю. |
Отправлено: 01:51, 15-11-2016 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Общее - [решено] Редактирование образа WIM | бородач | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 6 | 08-10-2015 12:28 | |
8 / 2012 - Создание wim-образа для последующего развертывания | The_Immortal | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 4 | 24-03-2015 11:49 | |
CMD/BAT - [решено] Подправьте скрипт для пакетной распаковки rar архивов | Aleksander.Ruban@fb | Скриптовые языки администрирования Windows | 3 | 24-08-2012 23:04 | |
Создание SFX-архивов для автоматической установки | FlexAdmin | Автоматическая установка приложений | 14 | 11-03-2012 13:51 | |
скрипт для управления wim-файлом | mamont1 | AutoIt | 3 | 29-08-2010 21:32 |
|