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

    puhpol
  • 2
  • Стаж: 3 года
  • Сообщений: 1051
  • Репутация:26

    [+] [-]
Приветствую дамы и господа.
Чаще всего для установки из папки используется универсальный скрипт от conty9.
Не знаю по чему, но не все понимают - скрипт универсальный и его можно изменить под свои нужды.

Оригинальный скрипт:

@echo off
setlocal enabledelayedexpansion
SET DD=PUH\WIN
SET IN=NI
for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
set IP=%%I:\!DD!
dir /d !IP!\install.wim&&set IN=!IP!\install.wim
dir /d !IP!\install.esd&&set IN=!IP!\install.esd
dir /d !IP!\install.swm&&set IN=!IP!\install.swm
IF !IN! NEQ NI goto :INST
)
IF %IN% EQU NI (
echo ERROR - COULD NOT FIND INSTALL.WIM(ESD,SWM) in %DD% folder!
pause
pause
goto:RBT
)
:INST
echo %IP%
if exist %IP%\unattend.xml SET UN=/unattend:%IP%\unattend.xml
if exist %IP%\_unattend.xml SET UN=/unattend:%IP%\_unattend.xml
if exist %IP%\OEM\nul SET OEM=/m:%IP%\OEM
if exist %IP%\$OEM$\nul SET OEM=/m:%IP%\$OEM$
set ST=X:\Setup.exe
if exist %IP%\Setup.exe set ST=%IP%\Setup.exe
if not exist %ST% goto :BAD
cd /d %IP%
%ST% /installfrom:%IN% %OEM% %UN%
goto :RBT
:BAD
dir X:\ /b
echo Cannot find %ST% !
echo.
:RBT
exit
@echo Press a key to reboot now...
pause
wpeutil reboot
pause
exit
Попробую рассказать что оно там написано. Но, я ламер и могу ошибаться.

Скрипт с пояснениями:

@echo off
setlocal enabledelayedexpansion
rem Путь к папке с INSTAL.(ESD,SWM) В данном случае и с :
rem $OEM$ папкой которая может называться $OEM$ или OEM
rem Файлом ответов который может называться unattend.xml или _unattend.xml

SET DD=PUH\WIN
SET IN=NI
rem Ищем папку PUH\WIN на всех доступных дисках и назначаем переменную IP. То есть, в место полного пути будем писать IP
for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
set IP=%%I:\!DD!
rem Ищем в папке IP файл install.wim или install.esd или install.swm
rem Если находим переходим в секцию :INST , в противном случае сообщение об ошибке.

dir /d !IP!\install.wim&&set IN=!IP!\install.wim
dir /d !IP!\install.esd&&set IN=!IP!\install.esd
dir /d !IP!\install.swm&&set IN=!IP!\install.swm
IF !IN! NEQ NI goto :INST
)
rem сообщение об ошибке и переход к секции :RBT
IF %IN% EQU NI (
echo ОШИБКА - НЕТ ФАЙЛА INSTALL.WIM(ESD,SWM) по пути %DD%
pause
pause
goto:RBT
)
rem Секция :INST
:INST
echo %IP%
rem Если в папке IP есть файл unattend.xml или _unattend.xml, назначаем переменную (параметр запуска для Setup.exe) UN
if exist %IP%\unattend.xml SET UN=/unattend:%IP%\unattend.xml
if exist %IP%\_unattend.xml SET UN=/unattend:%IP%\_unattend.xml
rem Если в папке IP есть папка OEM или $OEM$, назначаем переменную (параметр запуска для Setup.exe) OEM
if exist %IP%\OEM\nul SET OEM=/m:%IP%\OEM
if exist %IP%\$OEM$\nul SET OEM=/m:%IP%\$OEM$
rem Если есть файл Setup.exe по пути X:\Setup.exe или IP\Setup.exe ,Назначаем переменную ST
rem Если нет переходим к секции :BAD

set ST=X:\Setup.exe
if exist %IP%\Setup.exe set ST=%IP%\Setup.exe
if not exist %ST% goto :BAD
cd /d %IP%
rem Запускаем Setup.exe (установку) с параметрами /installfrom:%IN% %OEM% %UN%
rem И переходим к секции :RBT

%ST% /installfrom:%IN% %OEM% %UN%
goto :RBT
rem Секция :BAD
rem Сообщение что файл Setup.exe не найден.

:BAD
dir X:\ /b
echo Не найден %ST% !
echo.
rem Секция :RBT
rem Сообщение "Нажмите клавишу для перезагрузки" и перезагрузка.

:RBT
exit
@echo Press a key to reboot now...
pause
wpeutil reboot
pause
exit
Файл INSTALL.(WIM,ESD,SWM) может иметь любое имя, важно расширение файла.(естественно нужно указать в скрипте)
Файл ответов может иметь любое имя .( нужно указать в скрипте)
Папка $OEM$ может иметь любое имя , важно содержимое .( нужно указать в скрипте)

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

    puhpol
  • 2
  • Стаж: 3 года
  • Сообщений: 1051
  • Репутация:26

    [+] [-]
Пример: В корне носителя папка "puhf", в ней папка "w7"
В папке "W7" лежат два файла install . Один имеет имя lite.wim, второй install.esd.
Рядом два файла ответов: unattend.xml для install.esd , и Autounattend.xml для lite.wim
Так же для обеих установок общяя папка $OEM$.
Два скрипта запускающих установку:

Скрипт для lite.wim

@echo off
setlocal enabledelayedexpansion
SET MM=puhf\w7
SET IN=NI
for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
set IP=%%I:\!MM!
dir /d !IP!\lite.wim&&set IN=!IP!\lite.wim
dir /d !IP!\lite.esd&&set IN=!IP!\lite.esd
IF !IN! NEQ NI goto :INST
)
IF %IN% EQU NI (
echo НЕТУ ФАЙЛА LITE.WIM по пути %MM%
pause
pause
goto:RBT
)
:INST
echo %IP%
if exist %IP%\Autounattend.xml SET UN=/unattend:%IP%\Autounattend.xml
if exist %IP%\$OEM$\nul SET OEM=/m:%IP%\$OEM$
set ST=X:\sources\Setup.exe
if exist %IP%\Setup.exe set ST=%IP%\Setup.exe
if not exist %ST% goto :BAD
cd /d %IP%
%ST% /installfrom:%IN% %OEM% %UN%
goto :RBT
:BAD
dir X:\ /b
echo Cannot find %ST% !
echo.
:RBT
exit
@echo Press a key to reboot now...
pause
wpeutil reboot
pause

Скрипт для install.esd

@echo off
setlocal enabledelayedexpansion
SET MM=puhf\w7
SET IN=NI
for %%I in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
set IP=%%I:\!MM!
dir /d !IP!\install.esd&&set IN=!IP!\install.esd
IF !IN! NEQ NI goto :INST
)
IF %IN% EQU NI (
echo НЕТУ ФАЙЛА INSTALL.WIM(ESD,SWM) по пути %MM%
pause
pause
goto:RBT
)
:INST
echo %IP%
if exist %IP%\unattend.xml SET UN=/unattend:%IP%\unattend.xml
if exist %IP%\$OEM$\nul SET OEM=/m:%IP%\$OEM$
set ST=X:\sources\Setup.exe
if exist %IP%\Setup.exe set ST=%IP%\Setup.exe
if not exist %ST% goto :BAD
cd /d %IP%
%ST% /installfrom:%IN% %OEM% %UN%
goto :RBT
:BAD
dir X:\ /b
echo Cannot find %ST% !
echo.
:RBT
exit
@echo Press a key to reboot now...
pause
wpeutil reboot
pause


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

Текущее время: 22-Ноя 16:05

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


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