Язык системы можно определить так:
Код:
Код: Выделить всё
$UserIntLang=DllCall ("kernel32.dll", "int", "GetUserDefaultUILanguage" )
If Not @error Then MsgBox(0, 'Язык системы', Hex($UserIntLang[0],4))
проверку существования xml можно так
Код:
Код: Выделить всё
If FileExists($aDrives[$i] & '\boot\xmls\en-us.xml') Then
Run('X:\setup.exe /installfrom:' & $aDrives[$i] & '\sources\install.wim /unattend:' & $aDrives[$i] & '\boot\xmls\en-us.xml')
ElseIf FileExists($aDrives[$i] & '\boot\xmls\ru-ru.xml') Then
Run('X:\setup.exe /installfrom:' & $aDrives[$i] & '\sources\install.wim /unattend:' & $aDrives[$i] & '\boot\xmls\ru-ru.xml')
EndIf
определение переменных можно так:
Код:
Код: Выделить всё
If FileExists($aDrives[$i] & '\переменная№1') And FileExists($aDrives[$i] & '\переменная№2') Then Run(EnvGet('переменная№1')&'\folder0\folder1\folder2\setup.exe /installfrom:'&EnvGet('переменная№2')&'\folder0\file.wim /unattend:'&EnvGet('переменная№1')&'\folder0\folder1\folder2\file.xml')
Хотя последнее я не понял, даже если файлы указаны, то с какой стати переменные будут существовать в системе? Функция EnvGet берёт значение указанной переменной из системы. Если сам файл переменная, то тогда имя подставлять без EnvGet. Вобщем сомневаюсь в ответе, если вопрос нечёткий.