ПК под управлением Windows, на котором установлено множество разных платформ 1С.
Надо
Удалить все лишние платформы кроме нужных.
Решение
Скрипт работает на Windows любой разрядности.
Удаляются ненужные платформы любой разрядности.
Шаг 1
Создаём скрипт с именем UninstallOld1C.vbs .
Обязательно! В скрипте через запятую или пробел указываем версии платформ 1С Предприятия, которые нужно сохранить.</note>
Например, так:
<code>
strSaveVersions = «8.3.24.1667 8.3.24.1667»
</code>
<note important>Не забываем использовать правильную кодировку текста скрипта Windows-1251</note>
<code vbs UninstallOld1C.vbs>
' Скрипт удаления старых/не нужных версий платформ 1С
Option Explicit
On Error Resume Next
Dim objWMIService, colItems, objItem, objShell
Dim strComputer, strSaveVersions, strCommand
' Устанавливаем имя компьютера. По умолчанию задаём имя локального компьютера в виде «.»
strComputer = «.»
'Через запятую или пробел указываем версии платформ 1С Предприятия, которые нужно сохранить.
strSaveVersions = «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
end if
end if
Next
Set colItems = Nothing
Set objWMIService = Nothing
WScript.Quit
</code>
==== Шаг 2 ====
Размещаем скрипт в какой-нибудь папке.
<note>Для определённости пусть это будет папка с именем c:\temp\</note>
==== Шаг 3 ====
Запускаем командную строку от имени администратора.
<note>Как запустить командную строку от имени администратора описано тут.</note>
Шаг 4
Запускаем наш скрипт при помощи сервера сценариев cscript.
<code bat>
cscript c:\temp\UninstallOld1C.vbs
</code>
===== Источники =====
⇑ Наверх ⇑
Только авторизованные участники могут оставлять комментарии.