|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Задание переменной %DiskRoot% |
|
|
[решено] Задание переменной %DiskRoot%
|
Ветеран Сообщения: 569 |
Нужно экспортировать в AutoIt, командный файл следующего содержания:
@echo off 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 IF EXIST %%i:\sources\install.wim SET diskroot=%%i: start /wait X:\setup.exe /installfrom:%diskroot%\sources\install.wim /unattend:%diskroot%\boot\xmls\en-us.xml exit За ранее спасибо. |
|
Отправлено: 16:07, 02-02-2011 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать $aDrives = DriveGetDrive("ALL") For $i = 1 To $aDrives[0] If DriveStatus($aDrives[$i]) <> "READY" Then ContinueLoop EndIf If FileExists($aDrives[$i] & ':\sources\install.wim') Then RunWait('X:\setup.exe /installfrom:' & $aDrives[$i] & ':\sources\install.wim /unattend:' & $aDrives[$i] & ':\boot\xmls\en-us.xml') EndIf Next |
------- Отправлено: 18:46, 02-02-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 569
|
Профиль | Сайт | Отправить PM | Цитировать Creat0R, премного благодарен!
|
------- Последний раз редактировалось CtrlSoft, 02-02-2011 в 20:29. Отправлено: 19:07, 02-02-2011 | #3 |
Ветеран Сообщения: 569
|
Профиль | Сайт | Отправить PM | Цитировать Creat0R, странно, не работает... (
|
------- Отправлено: 10:08, 03-02-2011 | #4 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата CtrlSoft:
$aDrives = DriveGetDrive("ALL") For $i = 1 To $aDrives[0] If DriveStatus($aDrives[$i]) <> "READY" Then ContinueLoop EndIf If FileExists($aDrives[$i] & '\sources\install.wim') Then RunWait('X:\setup.exe /installfrom:' & $aDrives[$i] & '\sources\install.wim /unattend:' & $aDrives[$i] & '\boot\xmls\en-us.xml') EndIf Next |
||
------- Отправлено: 10:15, 03-02-2011 | #5 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Цитата CtrlSoft:
;... If FileExists($aDrives[$i] & ':\sources\install.wim') Then ;... ;на ;... If FileExists($aDrives[$i] & '\sources\install.wim') Then ;... А ответ уже есть. |
|
Отправлено: 10:21, 03-02-2011 | #6 |
Ветеран Сообщения: 569
|
Профиль | Сайт | Отправить PM | Цитировать Creat0R, madmasles, спасибо. Теперь работает.
Но хотел бы заметить, @echo off 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 IF EXIST %%i:\sources\install.wim SET diskroot=%%i: start /wait X:\setup.exe /installfrom:%diskroot%\sources\install.wim /unattend:%diskroot%\boot\xmls\en-us.xml exit В вашем же скрипте нужно наверное отказаться от wait:
Дело в том что во время тестирования, если я закрывал окно установки Windows, то запускалось повторная установка, но с ошибкой что не найден файл ответов. Попробую в WinPE... |
------- Отправлено: 11:24, 03-02-2011 | #7 |
Ветеран Сообщения: 569
|
Профиль | Сайт | Отправить PM | Цитировать проверил в WinPE. Работает.
setdiskroot.exe:
winpeshl.ini: Появился вопрос, что нужно дописать чтобы перед запуском установки, скрипт проверял есть ли требуемый язык в системе а потом запускала установку с нужным языком? на пример, 1. Создается переменная для привода. 2. Определяется язык к примеру ищет папку в X:\sources c названием en-US, если найдена - запускается если не найдена - ищет другую папку - ru-RU и запускает команду ? спасибо |
------- Отправлено: 13:34, 03-02-2011 | #8 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Цитата CtrlSoft:
$aDrives = DriveGetDrive("ALL") For $i = 1 To $aDrives[0] If DriveStatus($aDrives[$i]) <> "READY" Then ContinueLoop EndIf If FileExists($aDrives[$i] & '\WINDOWS\explorer.exe') Then MsgBox(0, StringUpper($aDrives[$i]), StringLeft(FileGetVersion($aDrives[$i] & '\WINDOWS\explorer.exe', 'DefaultLangCodepage'), 4)) ;0419 русский ;0409 английский ; и т.д. EndIf Next |
|
Отправлено: 15:04, 03-02-2011 | #9 |
Ветеран Сообщения: 569
|
Профиль | Сайт | Отправить PM | Цитировать потребовалось запустить команду Run с другими параметрами. При этом нужно указать два разных пути, которые требуется определить наличием файлов на диске.
Т.е. переменная №1 - ищем файл в корень диска переменная №2 - ищем файл из папки в корень диска (\folder\file.wim) после определения переменных происходит запуск: %переменная№1%\folder0\folder1\folder2\setup.exe /installfrom:%переменная№2%\folder0\file.wim /unattend:%переменная№1%\folder0\folder1\folder2\file.xml |
------- Последний раз редактировалось CtrlSoft, 02-08-2011 в 23:40. Отправлено: 23:35, 02-08-2011 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Реализация функций длины переменной, выделение подстроки с параметрами в переменной. | NiOl | Скриптовые языки администрирования Windows | 7 | 31-01-2019 19:58 | |
задание по информатике | DennyD | Тест-форум | 1 | 22-12-2010 21:57 | |
C/C++ - Задание внутри | Wurka86 | Программирование и базы данных | 1 | 25-05-2008 22:18 | |
Задание на Paskal-e | Doktor | Программирование и базы данных | 5 | 08-01-2003 13:51 |
|