PDA

Показать полную графическую версию : [решено] Bat для поиска install.esd на флеш.


Voron-orel
11-09-2015, 22:18
Привет всем. Есть у меня такой батник который помогает устанавливать Windows 7 из одной папки. Так вот суть в чем, в батнике прописано, что надо искать на всех локальных дисках папку с install.esd. Когда батник начинает опрашивать кардридер (в него не чего не вставлено), то выскакивает ошибка вставьте диск. Я нажимаю пропустить несколько раз и он начинает искать дальше, потом находит флешку и соответственно там уже и папку с install.esd. Знающие люди кто может помочь подправить батник, чтоб он автоматом пропускал кардридер в котором нету флешек. Проблема, не навязчивая и встречается только с машинами в которых есть кардридер. Спасибо!
@echo off
SET DD=7x64
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 if exist %%I:\%DD%\install.esd set DVDdrive=%%I:
If NOT "%DVDDrive%"=="" echo Found Install.esd at %DVDdrive%\%DD%\install.esd
IF "%DVDdrive%"=="" (
echo ERROR - COULD NOT FIND install.esd in %DD% folder!
pause
pause
goto :EOF
)


if exist %DVDdrive%\%DD%\unattend.xml SET UN=/unattend:%DVDdrive%\%DD%\unattend.xml
if exist %DVDdrive%\%DD%\OEM\nul SET OEM=/m:%DVDdrive%\%DD%\OEM

REM look for whole sources folder copied over
If exist %DVDdrive%\%DD%\setup.exe (
%DVDdrive%
REM setup will use its path to find the install.esd
%DVDdrive%\%DD%\setup.exe %OEM% %UN%

goto :RBT
)

if not exist X:\Setup.exe goto :BAD
REM if not then just call setup in root of boot.wim
X:\setup.exe /installfrom:%DVDdrive%\%DD%\install.esd %OEM% %UN%
goto :RBT


:BAD
dir X:\ /b
echo Cannot find X:\Setup.exe !
@echo Press a key to reboot now...
pause

:RBT
wpeutil reboot
pause

Ж.Д.А.Л.К.Е.Р.
11-09-2015, 23:48
В этом (http://forum.oszone.net/post-2271110-7.html) скрипте кардридеры пропускаются командой Dir.

Voron-orel
12-09-2015, 01:38
Переделал вышестоящий скрипт под себя, стал гораздо короче и проще чем был. Если кому нужен держите. @Echo off
SET DD=7x64
SetLocal EnableExtensions EnableDelayedExpansion
For %%I In (C D E F G H I J K L M N O P Q R S T U V W Y Z) Do (Dir %%I:>Nul 2>&1 && Set "zz=!zz!%%I ")
For %%I In (!zz!) Do (If Exist %%I:\%DD%\install.esd Set Letter=%%I)
If Not Defined Letter (
Echo Файл \%DD%\install.esd не найден, дальнейшая установка невозможна.
Echo Нажмите любую клавишу для перезагрузки.
Pause >Nul
Exit
)
X:\sources\setup.exe /installfrom:%Letter%:\%DD%\install.esd
Exit




© OSzone.net 2001-2012