Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Версия WinVer.exe и создание переменной

Ответить
Настройки темы
[решено] Версия WinVer.exe и создание переменной

Пользователь


Сообщения: 76
Благодарности: 10

Профиль | Отправить PM | Цитировать


Всем привет
нужна небольшая помощь профи в языке AutoIT3, а именно:
скрипт, который читает версию файла WinVer.exe по такому пути: %OFFLINESYSTEM%\System32\winver.exe и создает локальную (пользовательскую) переменную %OFFLINESYSTEMVER%, опустив версию Bild'a, то есть только номер 6.0/6.1/6.2/6.3
может кто нибудь помочь?.

Отправлено: 20:46, 04-07-2014

 

Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Цитата KopBuH91:
чтение версии WinVer.exe из первой попавшейся »
У меня, например, на диске C:\ стоит Windows 7, а на E:\ - Windows XP. Какая версия будет нужна?

Отправлено: 13:26, 05-07-2014 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 76
Благодарности: 10

Профиль | Отправить PM | Цитировать


семейство NT6, то есть от Vista и выше.
а так - под 90% случаев этот вариант подходит - ведь 2 системы на одном HDD - редкость.
к тому же, если нужен конкретный выбор - у нас есть переменная, в которой содержится буква нужного диска.
а нет выбора (/auto) - пусть будет первая попавшаяся, по порядке букв, начиная с C:, исключая X:.

Отправлено: 14:22, 05-07-2014 | #12


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


KopBuH91,
Попробуйте сделать примерно так.
Код: Выделить весь код
Global $sPath, $sVers

If $CmdLine[0] Then
    If StringRegExp($CmdLineRaw, '(?<=^|\x{20})([''"]{0,1}/auto[''"]{0,1})(?=\x{20}|$)') Then
        _FindFirstWinDir($sPath)
;~         или, как вариант:
;~         If Not _FindFirstWinDir($sPath) Then Exit MsgBox(16, 'Error', 'Не нашли ни одного диска с папкой Windows')
    EndIf
EndIf
If Not $sPath Then
    $sPath = EnvGet('OFFLINESYSTEM');или OFFLINESYSTEMDRIVE?
    If Not $sPath Then Exit MsgBox(16, 'Error', 'Нет переменной %OFFLINESYSTEM%');или OFFLINESYSTEMDRIVE?
EndIf
$sVers = FileGetVersion($sPath & '\System32\winver.exe')
$sVers = StringRegExpReplace($sVers, '^(\d+\.\d+).*', '$1')
If @extended <> 1 Then Exit MsgBox(16, 'Error', 'Ошибка получения версии winver.exe')
If EnvGet('OFFLINESYSTEMVER') = $sVers Then Exit MsgBox(64, 'Info', 'Переменная OFFLINESYSTEMVER со значением ' & $sVers & ' уже есть')
If Not RegWrite('HKEY_CURRENT_USER\Environment', 'OFFLINESYSTEMVER', 'REG_SZ', $sVers) Then
    Exit MsgBox(16, 'Error', 'Ошибка записи переменной OFFLINESYSTEMVER в реестр')
EndIf

Func _FindFirstWinDir(ByRef $s_Path)
    Local $s_Drive
    For $i = 67 To 90
        If $i = 88 Then ContinueLoop
        $s_Drive = Chr($i)
        If FileExists($s_Drive & ':\Windows\') Then
            $s_Path = $s_Drive & ':\Windows'
            Return 1
        EndIf
    Next
    Return 0
EndFunc   ;==>_FindFirstWinDir

;~ Run('"' & @ScriptDir & '\test.exe" /auto')

Последний раз редактировалось madmasles, 06-07-2014 в 08:33.

Это сообщение посчитали полезным следующие участники:

Отправлено: 06:58, 06-07-2014 | #13



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Версия WinVer.exe и создание переменной

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Реализация функций длины переменной, выделение подстроки с параметрами в переменной. NiOl Скриптовые языки администрирования Windows 7 31-01-2019 19:58
PowerShell - [решено] Создание переменной (коллекции) с несколькими значениями rudimko Скриптовые языки администрирования Windows 5 16-01-2014 15:08
Ошибка приложения 1cv7.exe, версия 7.70.0.27, модуль unknown, версия 0.0.0.0, адреc.. Arlekin_s Microsoft Windows NT/2000/2003 18 21-06-2010 15:15
[статья] Создание переменной среды, соответствующей букве установочного диска Vadikan Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 0 17-01-2009 18:21
Ошибка приложения svchost.exe, версия 0.0.0.0, модуль unknown, версия 0.0.0.0 romantika Лечение систем от вредоносных программ 1 29-11-2008 15:51




 
Переход