Batch-Satti
Se você ainda não é um membro cadastre-se!

Existem centenas de scripts para quem é membro.

As categorias para os membros cadastrados são:

BATCH-SCRIPTS COMPLETO.
(Espaço onde são postados os scripts que tenham funcionalidade completa)
BADCONS VIRUS E TROJANS .
(Espaço onde são postados scripts e técnicas em vírus trojans e worm baseados em scripts )
SOMENTE PARA MEMBROS.
(Espaço destinado aos membros discutirem ou tirarem duvidas)
TUTORIAIS E EXPLICAÇÕES.
(Aqui são colocadas as explicações de comandos e técnicas para confecção de scripts )

EXISTEM MUITAS OUTRAS CATEGORIAS MÁS ESSAS SÃO AS PRINCIPAIS !

ENTRE E PARTICIPE !!!!!!!
MENSAGENS AOS MEMBROS :
TIVEMOS QUE AUTORIZAR PROPAGANDAS NO FORUM E TALVEZ O FIREFOX E OUTROS NAVEGADORES NÃO FUNCIONEM
UTILIZEM O INTERNET EXPLORER OU ATUALIZEM PARA O FIREFOX 4.0 BETA

ASS. BOSS-HEAD


Pesquisa personalizada

Comando Call + Goto

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Comando Call + Goto

Mensagem por Beto Rubini em Dom Maio 01, 2016 10:55 am

Ja fiz algumas buscas, e encontrei algo sobre usar o comando "Call" para carregar um arquivo.bat externo e no mesmo comando indicar um "goto INICIO" por exemplo.

Mas não consigo faze-lo funcionar como esperado.

Segue o exemplo abaixo
Código:
set "dir_bat=Pasta\arquivo.bat"
set "var=1"
if %var%==1 (call "%dir_bat%" "goto INICIO")

Se alguem puder me ajudar.
Obg

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Comando Call + Goto

Mensagem por MasterMC em Dom Maio 01, 2016 5:48 pm

O que você está fazendo usando o call dessa forma é chamar o arquivo batch e passar "goto INICIO" como parâmetro. Explique exatamente o que você quer fazer, posta aqui o código desse arquivo batch, assim poderemos analisar melhor a situação.
avatar
MasterMC

Idade : 19

Voltar ao Topo Ir em baixo

Re: Comando Call + Goto

Mensagem por Beto Rubini em Seg Maio 02, 2016 10:43 am

Entao, é exatamente isso que pretendo fazer, mas quando informo outro valor para a variável, o mesmo código passa a não funcionar


Código:
if %varmenu%==0 (call "%dir_bat_home%" "goto MENUINICIAL")

if %varmenu%==1 (call "%dir_bat_clientes%" "goto CONFIRMACADASTRO")





sendo que as variáveis dir_bat_home e dir_bat_clientes estão definidas em um arquivo .bat externo.

contornei de outra forma o que desejava fazer, mas gostaria de entender como esse comando funciona, indicando " call "variável" goto"

fica dificil postar o batch no qual estou "trabalhando" pois tratam-se de vários arquivos, um batch dependente de outro e de pastas e arquivos .txt externos. se houver alguma maneira para postar tudo, me indiquem por favor.

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Comando Call + Goto

Mensagem por MasterMC em Ter Maio 03, 2016 2:53 pm

Primeiramente, você não tem como dar call em variáveis externas, elas tem que estar definidas no batch em execução. O comando call serve para executar um rótulo ":nome" e depois retornar ao mesmo ponto de execução do batch atual, ou chamar um arquivo ".bat" externo, também retornando ao ponto de execução depois de finalizar a execução do script batch. Esse "goto" que vocês está mandando como parâmetro não será executado, ele será passado como uma variável de linha de comando, que deve ser lida e interpretada para que haja algum efeito em tempo de execução. Se você quer que funcione, vc deve saber no batch em execução o nome do script a ser chamado pelo "call", quanto ao processamento dos parâmetros eu n sei oq vc está fazendo pois n tenho acesso a um script de exemplo.
avatar
MasterMC

Idade : 19

Voltar ao Topo Ir em baixo

Re: Comando Call + Goto

Mensagem por Beto Rubini em Ter Maio 03, 2016 3:15 pm

Estou definindo a variavel %varmenu% no script em execução e em seguida, também no script em execução eu "chamo" o batch externo que possui o código enviado a cima.

script em execução
Código:
rem defini variavel e chama arquivo externo

set "varmenu=1"& call %dir_bat_cabecalho%

rem sequencia do script em execução

:CADASTRAR
set varmenu=""
call %dir_bat_cabecalho%
echo -------------------------------------------------
echo    Aguarde....
echo -------------------------------------------------
echo.
rem e por ai vai a continuação do script

Script externo definido pela variável %dir_bat_cabecalho%
Código:
cls
echo.Data:%date%
echo.
echo              %prog_name% [v%prog_version%]
echo.


Rem [ir para funções]
if %varmenu%==0 (call "%dir_bat_home%" "goto MENUINICIAL")
if %varmenu%==1 (call "%dir_bat_clientes%" "goto CONFIRMACADASTRO")
if %varmenu%==2 (call "%dir_bat_Pesquisar%")
if %varmenu%==3 (call "%dir_bat_modificar%")

eu gostaria que se a condição fosse atendida, que fosse ao "goto" indicado e não continuasse a execução do script que está atualmente em execução.

Desculpe se não consegui me fazer entender

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Comando Call + Goto

Mensagem por Beto Rubini em Ter Maio 03, 2016 3:42 pm

Esqueci de comentar, as variáveis externas estão todas funcionando, pois o script em execução carrega as mesmas.

Beto Rubini

Idade : 25

Voltar ao Topo Ir em baixo

Re: Comando Call + Goto

Mensagem por h4x0rbr2016 em Dom Maio 22, 2016 5:20 pm

Quando eu Preciso chamar um arquivo bat externo, eu geralmente coloco uma variável dentro desse batch externo.

Código:
@echo off
color 0a
set vartemp=%tmp%\battemp.bat
title ^< Chamar variavel de batch externo ^>
:begin
echo.&echo.
(:: aqui fica uma variável no batch externo
set X=1
) >> "%vartemp%"
if exist "%vartemp%" (call "%vartemp%")
:: Seu menu
if %X% EQU 0 (goto :MENUINICIAL)
if %X% EQU 1 (goto :CONFIRMACADASTRAO)
:: CONTINUA SEU CÓDIGO
avatar
h4x0rbr2016

Idade : 28

Voltar ao Topo Ir em baixo

Re: Comando Call + Goto

Mensagem por h4x0rbr2016 em Dom Maio 22, 2016 5:25 pm

No seu caso você pode fazer o seguinte:

Código:
if %varmenu% == 0 (call "%dir_bat_nome%" & goto :MENUINICIAL)
avatar
h4x0rbr2016

Idade : 28

Voltar ao Topo Ir em baixo

Re: Comando Call + Goto

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum