Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Распаковка образов (7z)

Ответить
Настройки темы
CMD/BAT - [решено] Распаковка образов (7z)

Новый участник


Сообщения: 11
Благодарности: 4

Профиль | Отправить PM | Цитировать


Изменения
Автор: olga_maksi29
Дата: 02-09-2022
Описание: опечатка
Здраствуйте . Я здесь новенькая, прошу вашей помощи.
Я уверена для вас задача пустяковая - надеюсь вы сможете мне помочь.
Хотелось бы автоматизировать один простой, но длительный и скучный процесс .
Процесс состоит из 3 этапов которые хотелось бы автоматизировать скриптом.
Имеется папка где хранятся установочные образы систем
имеется следующая структура ( имена ISO постоянно меняются )
\\192.168.1.5\install\ISO\ISOWIN\

en-ru_windows_10_version_21h2_with_update_19044.1889_aio_32in1_x64_v22.08.10_by_adguard.iso
en-ru_windows_8.1_with_update_9600.20520_aio_18in1_x64_v22.08.10_by_adguard.iso
en-ru_windows_7_sp1_with_update_7601.26065_aio_24in1_x86_v22.08.10_by_adguard.iso
и т.д

стоит задача у меня-
1) Автоматизировать извлечение с каждого образа, одного файла sources\install.esd на USB носитель в определенный каталог без сохранения структуры .

2) При извлечении изменить имя файла с install.esd на имя iso образа до разрядности - что бы вышло примерно так
install_en-ru_windows_8.1_with_update_9600.20520_aio_18in1_x64.esd
install_en-ru_windows_10_version_21h2_with_update_19044.1889_aio_32in1_x64.esd
install_en-ru_windows_7_sp1_with_update_7601.26065_aio_24in1_x86.esd

3) создать одноименные ко 2 пункту txt файлы, с содержащими полные названиями образа внутри .
install_en-ru_windows_8.1_with_update_9600.20520_aio_18in1_x64.txt с содержанием en-ru_windows_8.1_with_update_9600.20520_aio_18in1_x64_v22.08.10_by_adguard
install_en-ru_windows_10_version_21h2_with_update_19044.1889_aio_32in1_x64.txt с содержанием en-ru_windows_10_version_21h2_with_update_19044.1889_aio_32in1_x64_v22.08.10_by_adguard
install_en-ru_windows_7_sp1_with_update_7601.26065_aio_24in1_x86.txt с содержанием en-ru_windows_7_sp1_with_update_7601.26065_aio_24in1_x86_v22.08.10_by_adguard

Надеюсь вы сможете мне помочь.
По первому пункту -все просто 7z хорошо справляется . Но вот как обрезать имя файла и создать тектовый файл - я особо не понимаю

Отправлено: 12:53, 02-09-2022

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6705
Благодарности: 1576

Профиль | Отправить PM | Цитировать


Powershell
Код: Выделить весь код
$iso = dir "C:\temp\ISOWIN\*.iso"
$usb = "C:\temp\ISOWIN-USB"

$iso |% {
& 'C:\Program Files\7-Zip\7z.exe' e $_.FullName sources\install.esd -o"$usb" -y
$esdBaseName = "install_$($_.BaseName -replace '^(.+_x[68][46]).*','$1')"
Get-Item "$usb\install.esd" |Rename-Item -NewName "$esdBaseName.esd"
$_.BaseName > "$usb\$esdBaseName.txt"
}

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:42, 02-09-2022 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 11
Благодарности: 4

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:
Powershell »
Спасибо огромное .
идеально .
но вылезли пару проблем
текстовый файл сохраняется в кодировке UTF16. можно ли в в стандартной 1251 ? то программа по считыванию данных крошится
и можно ли во втором и третьем пункте убрать с имени начало en-ru_windows_ ? и идеально бы без привязки языка .en-ru_ и строчку _with_update но это мелочи

Отправлено: 00:56, 03-09-2022 | #3


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6705
Благодарности: 1576

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
$iso = dir "C:\temp\ISOWIN\*.iso"
$usb = "C:\temp\ISOWIN-USB"

$iso |% {
& 'C:\Program Files\7-Zip\7z.exe' e $_.FullName sources\install.esd -o"$usb" -y
$esdBaseName = "install_$($_.BaseName -replace '^\w{2}-\w{2}_' -replace '_with_upd\w+_','_' -replace '^(.+_x[68][46]).*','$1')"
del "$usb\$esdBaseName.esd" -ErrorAction SilentlyContinue
Get-Item "$usb\install.esd" |Rename-Item -NewName "$esdBaseName.esd"
$_.BaseName |Out-File "$usb\$esdBaseName.txt" -Encoding default
}

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:51, 03-09-2022 | #4


Новый участник


Сообщения: 11
Благодарности: 4

Профиль | Отправить PM | Цитировать


DJ Mogarych,
если можно то пару дополнений к изначальной теме-
имеем образ -
en-ru_windows_10_version_21h2_with_update_19044.1889_aio_32in1_x86_v22.08.10_by_adguard.iso

что бы получились бы имя у esd
install_en-ru_win_10_ver_21h2_19044.1889_aio_32in1_x86.esd

создался бы одноименный текстовый файл
install_en-ru_win_10_ver_21h2_19044.1889_aio_32in1_x86.esd.txt

с содержимым
en_ru_win_10_ver_21h2_19044.1889_aio_32in1_x86_v22.08.10

т.е можно вместо windows - win , вместо version - ver ( имеется не во всех файлах), убрать _with_update и убрать _by_adguard

Отправлено: 10:38, 03-09-2022 | #5


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6705
Благодарности: 1576

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
$iso = dir "C:\temp\ISOWIN\*.iso"
$usb = "C:\temp\ISOWIN-USB"

$iso |% {
& 'C:\Program Files\7-Zip\7z.exe' e $_.FullName sources\install.esd -o"$usb" -y
$txtName = $_.BaseName -replace 'windows_','win_' -replace 'version_','ver_' -replace '_with_upd\w+_','_' -replace '_by_adguard'
$esdName = "install_$($txtName -replace '^(.+_x[68][46]).*','$1').esd"
del "$usb\$esdName" -ErrorAction SilentlyContinue
Get-Item "$usb\install.esd" |Rename-Item -NewName "$esdName"
$txtName |Out-File "$usb\$esdName.txt" -Encoding default
}

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:05, 03-09-2022 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Распаковка образов (7z)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Архиваторы - 7-Zip (7z) LonerD Программное обеспечение Windows 111 01-12-2019 12:25
CMD/BAT - Архивация 7z gmdanil Скриптовые языки администрирования Windows 12 24-08-2016 15:43
CMD/BAT - Распаковка большого количества zip (пакетная распаковка zip из разных папок) dark-------13 Скриптовые языки администрирования Windows 3 12-03-2013 13:00
Архиваторы - [addon] 7z SFX tools stable/7z SFX tools beta greg_b Наборы обновлений для Windows XP/2003/Windows 7 173 14-09-2012 19:30
расширение 7z AnGel_of_Death Хочу все знать 5 20-05-2006 01:07




 
Переход