Мои сайты
Частые вопросы
Полезные ссылки
Операционные системы
Программное обеспечение
Оборудование
СУБД
Кулинария
ПК под управлением Windows, на котором установлено множество разных платформ 1С.
Удалить все лишние платформы кроме нужных.
Создаём скрипт с именем UninstallOld1C.vbs .
Например, так:
strSaveVersions = "8.3.24.1667 8.3.24.1667"
Получается скрипт следующего содержания
' Скрипт удаления старых/ненужных версий платформ 1С Option Explicit On Error Resume Next Dim objWMIService, colItems, objItem, objShell Dim strComputer, strSaveVersions, strCommand ' Устанавливаем имя компьютера. По умолчанию задаём имя локального компьютера в виде "." strComputer = "." 'Через запятую или пробел указываем версии платформ 1С Предприятия, которые нужно сохранить. strSaveVersions = "8.3.24.1667 8.3.24.1667" ' Создаем объект для работы с WMI Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") ' Получаем список установленных программ Set colItems = objWMIService.ExecQuery("Select * from Win32_Product", , 48) ' Перебираем все установленные программы For Each objItem in colItems ' Ищем в имени программы признаки того, что это "1С: Предприятие" версии 8.3 if instr(cstr(objItem.Name),"8.3.") then wscript.echo "Has been found 1С 8.3: " & objItem.Name ' Проверяем необходимость удаления найденной платформы if instr(strSaveVersions,cstr(objItem.Version)) then ' Сохраняемую платформу не удаляем wscript.echo "It is a persisted 1C 8.3 platform: " & objItem.Name wscript.echo objItem.Name wscript.echo " Version: " & objItem.Version wscript.echo " Installation date: " & objItem.InstallDate wscript.echo String(40, "-") else ' Если платформу сохранять не нужно, то удаляем её wscript.echo "Removing the 1C 8.3 platform: " & objItem.Name 'Закомментированная строка-заглушка. 'strCommand = "cmd.exe /c pause" strCommand = "wmic product where name=""" & cstr(objItem.Name) & """ call uninstall /nointeractive" wscript.echo strCommand ' Создаем объект WScript.Shell Set objShell = CreateObject("WScript.Shell") objShell.Run strCommand, 0, true Set objShell = Nothing wscript.echo String(40, "-") end if end if Next Set colItems = Nothing Set objWMIService = Nothing WScript.Quit
Размещаем скрипт в какой-нибудь папке.
Запускаем командную строку от имени администратора.
Запускаем наш скрипт при помощи сервера сценариев cscript.
cscript c:\temp\UninstallOld1C.vbs
Ждём завершения работы скрипта.
Готово!
Лишние платформы 1С удалены!
Если при запуске скрипта появится ошибка, что какая-то программа не найдена, то скорее всего может быть не найдена команда WMIC.
При попытке запустить команду wmic напрямую или через какой-либо скрипт, появится ошибка о том, что команда не найдена. Вы увидите что-то вроде этого:
'wmic' is not recognized as an internal or external command, operable program or batch file.
или
wmic не является внутренней или внешней командой, исполняемой программой или пакетным файлом
Чтобы избавиться от этой ошибки нужно тут же в командной строке открытой от имени администратора выполнить команду:
DISM /Online /Add-Capability /CapabilityName:WMIC~~~~
После завершения выполнения команды можно повторно запускать скрипт.