mlevon
- Стаж: 9 лет 1 месяц
- Сообщений: 65
- Репутация:0[+] [-]
|
НЕ совсем уверен что правильно написал.... Я в этом вообще не разбираюсь. Мысль понял.Смущает вот это: for %%I in (C D E F G H I J K L M N O P Q R S T U V W) do dir %%I:%n% Мне кажется тут I это переменный индекс цикла проверки. Но вот что дальше, не понимаю.
|
Ander_73
- Стаж: 7 лет 9 месяцев
- Сообщений: 3815
- Репутация:127[+] [-]
|
puhpol, простите, что вмешиваюсьset n=здесь прописать путь к $OEM$ for %%I in (C D E F G H I J K L M N O P Q R S T U V W) do dir %%I:%n% Смысл этой строки - поиск устройства. Т.е. после команды dir надо проверять errorlevel. Например, так:set n=здесь прописать путь к $OEM$ for %%I in (C D E F G H I J K L M N O P Q R S T U V W) do dir %%I:%n%&&(set OEMPath=%%I:%n%&goto Success) echo Устройство не найдено!&exit :Success Теперь у нас в переменной OEMPath находится полный путь к $OEM$
|
mlevon
- Стаж: 9 лет 1 месяц
- Сообщений: 65
- Репутация:0[+] [-]
|
Теперь у нас в переменной OEMPath находится полный путь к $OEM$ В таком случае, во второй части скриптаif exist %n%\$OEM$\nul SET OEM=/m:%n%\$OEM$ как должно быть?
|
vovan1982
- Стаж: 9 лет 9 месяцев
- Сообщений: 1130
- Репутация:76[+] [-]
- Откуда: Ростов-на-Дону
|
puhpol, да на скорую руку сваял. Да нужно поиск организовать.
|
Ander_73
- Стаж: 7 лет 9 месяцев
- Сообщений: 3815
- Репутация:127[+] [-]
|
У нас получился сломанный телефон. Я ответил puhpol, а он просто вырвал строку из правильного контекста :) Проблема исходных скриптов в том, что они жёстко задают путь поиска. А именно:SET DD=_WIN SET MM=1032 SET IN=NI ... set IP=%%I:\!DD!\!MM! То есть мы ВСЕГДА ищем install.* по пути X:\_WIN\1032\
|
mlevon
- Стаж: 9 лет 1 месяц
- Сообщений: 65
- Репутация:0[+] [-]
|
@echo off setlocal enabledelayedexpansion SET n=Sources for %%I in (C D E F G H I J K L M N O P Q R S T U V W) do dir %%I:%n%&&(set OP=%%I:%n%&goto Success) echo Could not find oem folder!&exit :Success SET DD=Sources SET MM=Win7 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!\!MM! 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%\%MM% folder! pause pause goto:RBT ) :INST echo %IP% if exist X:\sources\unattend.xml SET UN=/unattend:X:\sources\unattend.xml if exist %IP%\unattend.xml SET UN=/unattend:%IP%\unattend.xml if exist %IP%\_unattend.xml SET UN=/unattend:%IP%\_unattend.xml if exist %OP%\OEM\nul SET OEM=/m:%OP%\OEM if exist %OP%\$OEM$\nul SET OEM=/m:%OP%\$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 :QUIT exit Вот в таком виде не подхватывает папку оем.
|
vovan1982
- Стаж: 9 лет 9 месяцев
- Сообщений: 1130
- Репутация:76[+] [-]
- Откуда: Ростов-на-Дону
|
mlevon, и не подхватит. Забыл слэш поставитьfor %%I in (C D E F G H I J K L M N O P Q R S T U V W) do dir %%I:\%n%&&(set OP=%%I:\%n%&goto Success)
|
mlevon
- Стаж: 9 лет 1 месяц
- Сообщений: 65
- Репутация:0[+] [-]
|
A нижняя часть в норме?if exist %OP%\OEM\nul SET OEM=/m:%OP%\OEM if exist %OP%\$OEM$\nul SET OEM=/m:%OP%\$OEM$
|
Ander_73
- Стаж: 7 лет 9 месяцев
- Сообщений: 3815
- Репутация:127[+] [-]
|
\nul убери или замени на >nul
|
vovan1982
- Стаж: 9 лет 9 месяцев
- Сообщений: 1130
- Репутация:76[+] [-]
- Откуда: Ростов-на-Дону
|
Ander_73, зачем \nul убирать? Это значит идет проверка наличия папки, а не файла.
|
puhpol
- Стаж: 10 лет
- Сообщений: 891
- Репутация:75[+] [-]
|
Господа Спасибо, Я вас понял. mlevon Значит мой вариант должон отработать. З.Ы. Они вам сейчас весь мозг склюют. И из скрипта в две строки сделают 20.
|
puhpol
- Стаж: 10 лет
- Сообщений: 891
- Репутация:75[+] [-]
|
39998То есть мы ВСЕГДА ищем install.* по пути X:\_WIN\1032\ Бред какой -то, С чего вы взяли X: ..... Спорить не буду, я ламер.
|
Ander_73
- Стаж: 7 лет 9 месяцев
- Сообщений: 3815
- Репутация:127[+] [-]
|
puhpol, Х - надо же было чем-то заменить букву диска А всё остальное - из тела скрипта.
|
mlevon
- Стаж: 9 лет 1 месяц
- Сообщений: 65
- Репутация:0[+] [-]
|
В 1 сообщении подправленный 2 код. Тестил, работает.
|
Страница 2 из 94
Текущее время: 23-Ноя 13:14
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|