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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Отсчет установленных обновлений

Ответить
Настройки темы
CMD/BAT - [решено] Отсчет установленных обновлений

Ветеран


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


Конфигурация

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


Помогите написать скрипт по установке обновлений Microsoft Office с автоматическим отсчетом количества установленных обновлений
(чтобы вручную не писать: Установка обновления 1 завершена, Установка обновления 2 завершена и т.д.)

п.с. сразу оговорюсь, что скрипт написан в 866 кодировке

Код: Выделить весь код
Set Cnt=0
For %%I In (*.msp) Do Set /A Cnt += 1
Echo Количество обновлений - %Cnt% 
ECHO.
ECHO.
start /wait msiexec /update kb2202188-clview.msp /qb-!
ECHO Установка обновления 1 завершена
start /wait msiexec /update kb2289116-osc-x-none-ru-ru.msp /qb-!
ECHO Установка обновления 2 завершена
start /wait msiexec /update kb2289116-oscintl-ru-ru.msp /qb-!
ECHO Установка обновления 3 завершена
start /wait msiexec /update kb2345000-word.msp /qb-!
ECHO Установка обновления 4 завершена
.........

Отправлено: 23:17, 12-03-2011

 

Ветеран


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

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


sov44, так же, как это сделано в Запуск RunOnceEx с CD:
Код: Выделить весь код
…
SET /A i=0

start /wait msiexec /update kb2202188-clview.msp /qb-!
SET /A i+=1
ECHO Установка обновления %i% завершена

start /wait msiexec /update kb2289116-osc-x-none-ru-ru.msp /qb-!
SET /A i+=1
ECHO Установка обновления %i% завершена

start /wait msiexec /update kb2289116-oscintl-ru-ru.msp /qb-!
SET /A i+=1
ECHO Установка обновления %i% завершена
…
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:25, 12-03-2011 | #2



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

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


Аватара для gora

Ушёл из жизни


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

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


Или так:
Код: Выделить весь код
@Echo off
setlocal enabledelayedexpansion
Set Cnt=0
For %%I In (*.msp) Do Set /A Cnt += 1
Echo Количество обновлений - %Cnt% 
ECHO.
ECHO.
Set cntA=0
For %%I In (
	"kb2202188-clview.msp"
	"kb2289116-osc-x-none-ru-ru.msp"
	"kb2289116-oscintl-ru-ru.msp"
	"kb2345000-word.msp"
) Do (
	start /wait msiexec /update %%~I /qb-^^!
	Set /a cntA += 1
	ECHO Установка обновления !cntA! завершена
)
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:37, 12-03-2011 | #3


Ветеран


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

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


Подскажите, почему не меняется значение [ChainedInstall_%Cnr%]
Код: Выделить весь код
Set Cnr=5
For %%I In ("Office_Updates\*.msp") Do (
Echo.
Echo [ChainedInstall_%Cnr%] 
Set /A %Cnr% += 1
Echo TaskName=
Echo TASKTYPE=exe
Echo PATH=MSIExec.exe
Echo CmdLine=/update %%I /qb
)

Отправлено: 21:08, 18-06-2011 | #4


Аватара для gora

Ушёл из жизни


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

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


Цитата sov44:
почему не меняется значение »
Добавьте в начало скрипта
Код: Выделить весь код
setlocal enabledelayedexpansion
и переменную заключите в восклицательные знаки вместо процентов.
Код: Выделить весь код
Echo [ChainedInstall_!Cnr!]

Отправлено: 21:27, 18-06-2011 | #5


Ветеран


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

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


Всё равно не считает (отсутствующий операнд)
Код: Выделить весь код
Set Cnr=5
For %%I In ("Office_Updates\*.msp") Do (
Echo.
Echo [ChainedInstall_!Cnr!] 
Set /A !Cnr! += 1
Echo TaskName=
Echo TASKTYPE=exe
Echo PATH=MSIExec.exe
Echo CmdLine=/update %%I /qb
)

Отправлено: 21:43, 18-06-2011 | #6


Аватара для gora

Ушёл из жизни


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

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


sov44, а где строка???
Цитата gora:
Добавьте в начало скрипта
Код:
setlocal enabledelayedexpansion »

Отправлено: 21:47, 18-06-2011 | #7


Ветеран


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

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


sov44, напротив, уберите «%»:
Код: Выделить весь код
…
Set /A Cnr += 1
…
А в остальном — по #5.
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:47, 18-06-2011 | #8


Ветеран


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

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


Цитата gora:
а где строка? »
Стороку добавил (забыл об этом сразу написать, т.к. это лишь кусок скрипта )
Цитата Iska:
Set /A Cnr += 1 »
Всё заработало!

п.с. Iska, поясните, почему Cnr без переменных?

Последний раз редактировалось sov44, 18-06-2011 в 22:46. Причина: п.с.


Отправлено: 22:02, 18-06-2011 | #9


Ветеран


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

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


Цитата sov44:
п.с. Iska, поясните, почему Cnr без переменных? »
Смотрите отсюда и ниже.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:28, 18-06-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Отсчет установленных обновлений

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
отсчет времени lxa85 Флейм 5 05-10-2011 13:21
Интерфейс - Нет установленных обновлений при просмотре через панель управления шумелка мышь Microsoft Windows 7 4 28-10-2010 20:29
Java - [решено] Обратный отсчет Andrey V2003 Программирование и базы данных 2 03-03-2010 13:56
Платформа 2010. Обратный отсчет OSZone News Новости и события Microsoft 0 11-11-2009 01:30
Отсчет времени до события (JavaScript) Котяра Вебмастеру 12 29-06-2008 17:25




 
Переход