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

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

Ответить
Настройки темы
CMD/BAT - [решено] Автоматизация запуска на удаленных машинах

Новый участник


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

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


На сервере 1 есть 4 bat-файла для серверов 2,3,4,5
которые запускают на них некоторые процедуры с файлами (посредством psexec).

Там же на сервере 1 есть 5-ый bat-файл который нужно запустить только после того как отработают первые 4.

Cейчас приходится запускать первые 4 файла (один за другим) что бы выполнялись параллельно, а затем, визуально убедившись
в том, что они отработали, уже запускать файл 5.

Можно ли все это сделать 1 BAT файлом?

Отправлено: 13:51, 30-10-2011

 

Ветеран


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

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


Eug.., можно попробовать так:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

title Waiting child batches...

start "Working with Server 0001..." 0001.cmd ^& exit
start "Working with Server 0002..." 0002.cmd ^& exit
start "Working with Server 0003..." 0003.cmd ^& exit
start "Working with Server 0004..." 0004.cmd ^& exit

:Repeat
	ping.exe -n 2 localhost >nul

	>nul (2>nul tasklist.exe /fi "WINDOWTITLE eq Working with Server 000*" | find.exe /i "cmd.exe") && goto :Repeat

title Now this batch working...

echo Здесь Ваш код

pause

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

Отправлено: 16:07, 30-10-2011 | #2



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

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


Новый участник


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

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


Начало отличное - стартуют все 4 cmd-шника оновременно и пока psexec соединяется, окна действительно называются
"Working with ..." и основной job ждет, но как только psexec соеденился и начинается выполнение cmd файлов на самих
серверах, названия окон меняются на \\имя_сервера: путь_к_cmd_файлу, и основной job сразу же стартует (не дождавшись
окончания рабрты cmd-шников на сервере).

Попробовал вставить строку

>nul (2>nul tasklist.exe /fi "WINDOWTITLE eq Working with Server 000*" | find.exe /i "cmd.exe") && goto :Repeat
>nul (2>nul tasklist.exe /fi "WINDOWTITLE eq \\192б168*" | find.exe /i "cmd.exe") && goto :Repeat

- не помогает...

Отправлено: 12:13, 01-11-2011 | #3


Новый участник


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

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


О! Вот так - работает! Респект!

@echo off
setlocal enableextensions enabledelayedexpansion

title Waiting child batches...

start "Working with Server 0001..." 0001.cmd ^& exit
start "Working with Server 0002..." 0002.cmd ^& exit
start "Working with Server 0003..." 0003.cmd ^& exit
start "Working with Server 0004..." 0004.cmd ^& exit

:Repeat
ping.exe -n 2 localhost >nul

>nul (2>nul tasklist.exe /fi "WINDOWTITLE eq Working with Server 000*" | find.exe /i "cmd.exe") && goto :Repeat
>nul (2>nul tasklist.exe /fi "WINDOWTITLE eq \\192.168.*" | find.exe /i "cmd.exe") && goto :Repeat

title Now this batch working...

echo Здесь Ваш код

pause

endlocal
exit /b 0

Отправлено: 13:15, 01-11-2011 | #4


Ветеран


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

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


Цитата Eug..:
но как только psexec соеденился и начинается выполнение cmd файлов на самих
серверах, названия окон меняются на \\имя_сервера: путь_к_cmd_файлу, и основной job сразу же стартует (не дождавшись
окончания рабрты cmd-шников на сервере). »
Цитата Eug..:
О! Вот так - работает! »
Ну и славненько . На самом «PsExec.exe» я не проверял сетевую работу по причине отсутствия на тот момент доступа к самой сети.

Отправлено: 13:49, 01-11-2011 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Удаление веток реестра на удаленных машинах kumian Скриптовые языки администрирования Windows 6 07-11-2014 03:14
CMD/BAT - Копирование папки и запуск VBS-скрипта на удаленных машинах Fill_Good_Inc Скриптовые языки администрирования Windows 3 16-05-2011 04:40
PowerShell - Параллельное выполнение команд на удаленных машинах tarasov.evgeny Скриптовые языки администрирования Windows 1 09-12-2010 13:39
[решено] нужно изменить на более 300 удаленных машинах пару веток реестра HKLM noxville Хочу все знать 2 26-10-2010 11:57
Трабла с сеткой на 2-х машинах Tilion Сетевые технологии 2 06-06-2005 17:11




 
Переход