Команда VER под русской Вистой выдаёт следующее "Microsoft Windows [Версия 6.0.6000]" без кавычек.
Вот так вроде получается проверять какая винда стоит, а к версии привязываться не стоит
Код:
![Выделить весь код](images/misc/selectcode.png)
FOR /F "usebackq tokens=*" %%i IN (`ver`) do set CV=%%i
IF "%CV:~0,20%"=="Microsoft Windows XP" goto WinXP
или так (мне больше нравится)
Код:
![Выделить весь код](images/misc/selectcode.png)
FOR /F "usebackq tokens=*" %%i IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName`) do set CV=%%i
IF "%CV:~-20%"=="Microsoft Windows XP" goto WinXP
, но опять же я не знаю, что там в английских версиях рисуется.
Во втором варианте в реестре Висты прописано "Windows Vista (TM) Ultimate"
Так что я пока оставлю себе такой вариант, с сокращением путей я тоже не стал извращаться.
Код:
![Выделить весь код](images/misc/selectcode.png)
::Скрываем консольное окно, утилита cmdow.exe должна лежать в папке %WinDir%\System32
CMDOW @ /HID
@echo off
::Включаем расширенную обработку команд
SetLocal EnableExtensions EnableDelayedExpansion
::Проверяем, какая винда установлена WinXP или WinVista
FOR /F "usebackq tokens=*" %%i IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName`) do set CV=%%i
IF "%CV:~-20%"=="Microsoft Windows XP" goto WinXP
:WinVista
::Создаём директории для последующего копирования туда обновлённых баз
mkdir "%AllUsersProfile%\Kaspersky Lab\AVP7\Bases"
mkdir "%AllUsersProfile%\Kaspersky Lab\AVP7\Data"
mkdir "%AllUsersProfile%\Kaspersky Lab\AVP7\Dskm"
::Копируем новые базы
xcopy "Kaspersky Lab\AVP7\Bases\*.*" "%AllUsersProfile%\Kaspersky Lab\AVP7\Bases" /E /Q /Y
xcopy "Kaspersky Lab\AVP7\Data\*.*" "%AllUsersProfile%\Kaspersky Lab\AVP7\Data" /E /Q /Y
xcopy "Kaspersky Lab\AVP7\Dskm\*.*" "%AllUsersProfile%\Kaspersky Lab\AVP7\Dskm" /E /Q /Y
goto WinAll
:WinXP
::Создаём директории для последующего копирования туда обновлённых баз
mkdir "%AllUsersProfile%\Application Data\Kaspersky Lab\AVP7\Bases"
mkdir "%AllUsersProfile%\Application Data\Kaspersky Lab\AVP7\Data"
mkdir "%AllUsersProfile%\Application Data\Kaspersky Lab\AVP7\Dskm"
::Копируем новые базы
xcopy "Kaspersky Lab\AVP7\Bases\*.*" "%AllUsersProfile%\Application Data\Kaspersky Lab\AVP7\Bases" /E /Q /Y
xcopy "Kaspersky Lab\AVP7\Data\*.*" "%AllUsersProfile%\Application Data\Kaspersky Lab\AVP7\Data" /E /Q /Y
xcopy "Kaspersky Lab\AVP7\Dskm\*.*" "%AllUsersProfile%\Application Data\Kaspersky Lab\AVP7\Dskm" /E /Q /Y
:WinAll
::Удаляем с реестра информацию о старом лицензионном ключе
reg delete "HKLM\SOFTWARE\KasperskyLab\LicStorage" /f
reg delete "HKLM\SOFTWARE\Microsoft\SystemCertificates\SPC\Certificates" /f
::Устанавливаем Kis7 и твикаем реестр настройками Kis7
Start /wait kis.ru.msi /qb /norestart
Start /wait regedit /S Kis7.reg /f
::Снимаем системные аттрибуты и удаляем папку от установщика
If Exist %HOMEDRIVE%\Config.Msi attrib -s -h -r %HOMEDRIVE%\Config.Msi /d /s
If Exist %HOMEDRIVE%\Config.Msi RD /S /Q %HOMEDRIVE%\Config.Msi
Exit