Criar vbatch [RESOLVIDO]

1. Criar vbatch [RESOLVIDO]

walter
waltterm2303

(usa Suse)

Enviado em 20/10/2014 - 17:56h


Boa noite


Tenho varias arquivos .bat um com informacao diferente do outro.

Gostaria de saber como posso fazer para startar um por vez, criando um arquivo txt com a informacao de que foi feito com sucesso e ai chamar o proximo da lista


Ex

Tenho varias arquivos bat

1.bat
2.bat
3.bat

Quero iniciar o 1.bat e assim que acabasse este o 2.bat comecaria automaticamente.

Agradeco




  


2. Re: Criar vbatch [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 20/10/2014 - 19:33h

Se não me engano, o comando "call" faz isso;

tente assim:

Arquivo "chama-bat.bat":

@echo off

call "1.bat"
call "2.bat"
call "3.bat"
exit


Estou sem Windows agora pra testar, tente isso e veja se funciona e, assim que puder, te darei uma resposta mais "precisa";


3. Re: Criar vbatch [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 20/10/2014 - 22:07h

Da forma que o unnslacker mostrou vai funcionar (Precisei disto por estes dias, e fiz utilizando o call para chamar os outros scripts).

Completando para gerar os logs, poderia fazer como abaixo:

Arquivo "chama-bat.bat":

@echo off

SET DATA=%date:~0,2%-%date:~3,2%-%date:~6,10%
SET TIME=%date:~0,2%-%date:~3,2%-%date:~6,10%-%time:~0,2%-%time:~3,2%
SET DIRBAT=C:\local\dos\.bat
SET LOG=%DIRBAT%\%DATA%.log

cd %DIRBAT%

echo "###### Chamando 1.bat" >> %LOG%
echo %TIME% >> %LOG%
call "1.bat"


echo "###### Chamando 2.bat" >> %LOG%
echo %TIME% >> %LOG%
call "2.bat"


echo "###### Chamando 3.bat" >> %LOG%
echo %TIME% >> %LOG%
call "3.bat"

exit





4. Re: Criar vbatch [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 20/10/2014 - 22:19h

erisrjr escreveu:

Da forma que o unnslacker mostrou vai funcionar (Precisei disto por estes dias, e fiz utilizando o call para chamar os outros scripts).

Completando para gerar os logs, poderia fazer como abaixo:

Arquivo "chama-bat.bat":

@echo off

SET DATA=%date:~0,2%-%date:~3,2%-%date:~6,10%
SET TIME=%date:~0,2%-%date:~3,2%-%date:~6,10%-%time:~0,2%-%time:~3,2%
SET DIRBAT=C:\local\dos\.bat
SET LOG=%DIRBAT%\%DATA%.log

cd %DIRBAT%

echo "###### Chamando 1.bat" >> %LOG%
echo %TIME% >> %LOG%
call "1.bat"


echo "###### Chamando 2.bat" >> %LOG%
echo %TIME% >> %LOG%
call "2.bat"


echo "###### Chamando 3.bat" >> %LOG%
echo %TIME% >> %LOG%
call "3.bat"

exit




Isso aí, valeu por me ajudar na resposta! eu não tinha planejado os logs ainda...

Só para complementar, antes do "cd %DIRBAT%", adicione também um "md %DIRBAT%", caso a pasta ainda não exista;

O complemento ficaria assim:


if exist %DIRBAT% (
cd %DIRBAT%
) else (
md %DIRBAT%
cd %DIRBAT%
)


;)


5. Re: Criar vbatch [RESOLVIDO]

walter
waltterm2303

(usa Suse)

Enviado em 20/10/2014 - 22:23h


Unslacker boa noite


A batch que a a seguinte

Tenho varios arquivos exe

bilhete1.txt
bilhete2.txt
bilhet3.txt e ai por diante

Queria rodar um arquivo por vez

rodar o bilhete1.txt ao e assim que terminar de rodar comecar o bilhete2.txt e ai por diante.

poderiam me ajudar



6. Re: Criar vbatch [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 20/10/2014 - 23:16h

waltterm2303 escreveu:


Unslacker boa noite


A batch que a a seguinte

Tenho varios arquivos exe

bilhete1.txt
bilhete2.txt
bilhet3.txt e ai por diante

Queria rodar um arquivo por vez

rodar o bilhete1.txt ao e assim que terminar de rodar comecar o bilhete2.txt e ai por diante.

poderiam me ajudar


A solução do Unslacker, faz exatamente isto.



Quanto ao diretório, acessei para confirmar e tinha encontrado na hora de outra forma, mas com o mesmo efeito:


IF EXIST %DIRBAT% (GOTO :testdir) ELSE mkdir %DIRBAT%
:testdir



7. Re: Criar vbatch [RESOLVIDO]

walter
waltterm2303

(usa Suse)

Enviado em 20/10/2014 - 23:29h



Me desculpe meu amigo mais ainda nao consegui entender poderia dar um exemplo pra mim por favor



Tenho varios arquivos exemplo


envbil_1.bat
envbil_2.bat
envbil_3.bat
envbil_4.bat
envbil_5.bat
envbil_6.bat
envbil_7.bat
envbil_8.bat
envbil_9.bat
envbil_10.bat
envbil_11.bat
envbil_12.bat

Como ficaria a batch, chamando uma a uma exemplo so chamar a envbil_2.bat quando terminasse a envbil_1.bat e assim por diante poderia me ajudar agradeco


8. Re: Criar vbatch [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/10/2014 - 12:46h

Então, nas condições que você disse (que execute a outra bat somente depois que a última acabar, sequencialmente e com logs), ficaria assim:


@ECHO OFF

SET DATA=%date:~0,2%-%date:~3,2%-%date:~6,10%
SET TIME=%date:~0,2%-%date:~3,2%-%date:~6,10%-%time:~0,2%-%time:~3,2%
SET DIRBAT=C:\local\dos\.bat
SET LOG=%DIRBAT%\%DATA%.log
SET /A COUNT=0

IF EXIST %DIRBAT%
(
CD %DIRBAT%
GOTO HOME
)
ELSE
(
MD %DIRBAT%
CD %DIRBAT%
GOTO HOME
)


:HOME
SET /A COUNT=%COUNT%+1

ECHO "###### Chamando envbil_%COUNT%.bat" >> %LOG%
ECHO %TIME% >> %LOG%
CALL "envbil_%COUNT%.bat"

IF "%COUNT%"=="12" (
EXIT
) ELSE (
GOTO HOME
)


Ou seja, tudo o que nós já falamos, só que "incrementado";


9. Re: Criar vbatch [RESOLVIDO]

walter
waltterm2303

(usa Suse)

Enviado em 21/10/2014 - 12:57h




Show amigo , funcionou perfeitamente Obrigado mesmo


10. Re: Criar vbatch [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/10/2014 - 19:04h

waltterm2303 escreveu:




Show amigo , funcionou perfeitamente Obrigado mesmo


Valeu, estamos aí pra isso; só marque o tópico agora como resolvido, por favor;






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts