PDA

Показать полную графическую версию : Как запускать выполнение файлов по очереди


palexa
11-11-2018, 09:16
Привет

Есть несколько файлов
1.bat
2.bat
3.bat
4.vbs
5.bat

Как запускать выполнение файлов по очереди

То есть 1.bat заканчивает и закрывается, только после этого должен стартовать второй и так далее

Пауза вопроса не решает, так как я не знаю сколько всё по времени будет выполняться

palexa
11-11-2018, 10:20
Пришлось все эти батники и vbs компилить в exe и тогда можно отследить процесс

@echo off

set process=st-1.exe
start /wait D:\temp\st-1.exe
goto checker
:check
cls
echo Process %process% is still running...
:checker
tasklist /FI "IMAGENAME eq %process%" /NH | findstr /i "%process%">nul
if %errorLevel% == 0 goto :check
rem процесс st-1.exe был завершен, можно запускать следующий файл

set process=st-2.exe
start /wait D:\temp\st-2.exe
goto checker
:check
cls
echo Process %process% is still running...
:checker
tasklist /FI "IMAGENAME eq %process%" /NH | findstr /i "%process%">nul
if %errorLevel% == 0 goto :check
rem процесс st-2.exe был завершен, можно запускать следующий файл

А вот с батниками не получается, жаль конечно

megaloman
11-11-2018, 12:14
palexa, А вот с батниками не получается, жаль конечно » В чём загвоздка?@Echo Off

Call Z:\Soft_In\1.bat
Call Z:\Soft_In\2.bat
Call Z:\Soft_In\3.bat
wscript Z:\Soft_In\я181110.vbs
Call Z:\Soft_In\4.bat

GoTo :EofПочему бы все батники не слить в один файл, каждый оформить в виде функции и вызывать поочереди тем же колом.

surgutfred
11-11-2018, 12:16
А вот с батниками не получается, жаль конечно »
start /wait 1.bat
start /wait 2.bat
start /wait 3.bat
start /wait 4.bat
start /wait 5.bat

Только в конце батников не забудь exit написать, что бы закрывались после обработки

palexa
11-11-2018, 13:11
Почему бы все батники не слить в один файл, каждый оформить в виде функции и вызывать поочереди тем же колом. »
потому что не знаю как это сделать

По сути задача
1.bat считает место на сервере в папке C:\Users и записывает в файл время + имя сервера + сколько места в папке
2.bat чистит мусор в папках пользователей
3.bat считает место на сервере в папке C:\Users и дописывает это в файл
4.vbs отправляет этот файл на почту всем заинтересованным лицам
5.bat удаляет это файл
6.bat просто по очереди запускает эти 5 задач

С отслеживанием процесса я конечно перемудрил, оказалось всё на много проще, спасибо

На домашнем ПК всё работает осталось проверить на работе

Спасибо за помощь




© OSzone.net 2001-2012