Ir ao conteúdo
  • Cadastre-se

Recommended Posts

Bom galera, to com um probleminha... estou fazendo um kit pós formatação com o CMD, ele funciona de boa colocando o 'exit' no final de cada código, PORÉM, eu preciso instalar varios programas através da mesma janela do prompt, coisa que não funciona, já que eu coloco pause no final de cada código, vou explicar:

::INSTALAÇÃO DO PROGRAMA '01'    :choice    set /P q=Deseja executar o programa 'FreeStudio 2014.exe' [S/N]?    if /I "%q%" EQU "S" goto :s_instalar    if /I "%q%" EQU "N" goto :n_instalar    goto :choice    :s_instalar    echo.    echo "EXECUTANDO O PROGRAMA 'FreeStudio 2014.exe'"    start /w "" "E:\Edu Segur\PROGRAMAS V2\Conversores\FreeStudio 2014.exe"echo %FORMATO% >> FormatComputer.logecho. >> FormatComputer.logecho PROGRAMA 'FreeStudio 2014.exe' EXECUTADO! >> FormatComputer.logecho ----------------------- ( PROGRAMA EXECUTADO 01/10) -----------------------echo ----------------------- ( PROGRAMA EXECUTADO 01/10) ----------------------- >> FormatComputer.log	pause      ::se colocar EXIT aqui ele sai de boa e o programa grava no .LOG apenas "PROGRAMA EXECUTADO..."      ::se eu retirar EXIT ele abre o código abaixo e isso eu quero evitar!    :n_instalar    echo.    echo "PROGRAMA 'FreeStudio 2014.exe' NÃO EXECUTADO! (01/10)"echo %FORMATO% >> FormatComputer.logecho. >> FormatComputer.logecho PROGRAMA 'FreeStudio 2014.exe' NÃO EXECUTADO! >> FormatComputer.logecho --------------------- ( PROGRAMA NÃO EXECUTADO 01/10) ---------------------echo --------------------- ( PROGRAMA NÃO EXECUTADO 01/10) --------------------- >> FormatComputer.log    pause

QUERO APENAS UM COMANDO QUE FAÇA O CODIGO ACIMA (n_instalar) ENTENDER QUE SE DIGITAR 'S' OU CAIR EM 's_instalar' ELE SIMPLESMENTE NÃO APARECE E DA INICIO A OUTRO PROGRAMA... assim:

	::INSTALAÇÃO DO PROGRAMA '01'    :choice    set /P q=Deseja executar o programa 'programa01.exe' [S/N]?    if /I "%q%" EQU "S" goto :s_instalar    if /I "%q%" EQU "N" goto :n_instalar    goto :choice    :s_instalar    echo.    echo "EXECUTANDO O PROGRAMA 'programa01.exe'"    start /w "" "E:\Edu Segur\PROGRAMAS V2\Conversores\programa01.exe"echo %FORMATO% >> FormatComputer.logecho. >> FormatComputer.logecho PROGRAMA 'programa01.exe' EXECUTADO! >> FormatComputer.logecho ----------------------- ( PROGRAMA EXECUTADO 01/10) -----------------------echo ----------------------- ( PROGRAMA EXECUTADO 01/10) ----------------------- >> FormatComputer.log	pause	    :n_instalar    echo.    echo "PROGRAMA 'programa01.exe' NÃO EXECUTADO! (01/10)"echo %FORMATO% >> FormatComputer.logecho. >> FormatComputer.logecho PROGRAMA 'programa01.exe' NÃO EXECUTADO! >> FormatComputer.logecho --------------------- ( PROGRAMA NÃO EXECUTADO 01/10) ---------------------echo --------------------- ( PROGRAMA NÃO EXECUTADO 01/10) --------------------- >> FormatComputer.log    pause    cls::---------------------------------------------------------------------------------------	::INSTALAÇÃO DO PROGRAMA '02'    :choice    set /P q=Deseja executar o programa 'programa02.exe' [S/N]?    if /I "%q%" EQU "S" goto :s_instalar    if /I "%q%" EQU "N" goto :n_instalar    goto :choice    :s_instalar    echo.    echo "EXECUTANDO O PROGRAMA 'programa02.exe.exe'"    start /w "" "E:\Edu Segur\PROGRAMAS V2\Conversores\programa02.exe.exe"echo. >> FormatComputer.logecho PROGRAMA 'programa02.exe.exe' EXECUTADO! >> FormatComputer.logecho ----------------------- ( PROGRAMA EXECUTADO 02/10) -----------------------echo ----------------------- ( PROGRAMA EXECUTADO 02/10) ----------------------- >> FormatComputer.log	pause	    :n_instalar    echo.    echo "PROGRAMA 'programa02.exe.exe' NÃO EXECUTADO! (02/10)"echo. >> FormatComputer.logecho PROGRAMA 'programa02.exe' NÃO EXECUTADO! >> FormatComputer.logecho --------------------- ( PROGRAMA NÃO EXECUTADO 02/10) ---------------------echo --------------------- ( PROGRAMA NÃO EXECUTADO 02/10) --------------------- >> FormatComputer.log    pause

Pra não restar dúvidas vou deixar mais claro:

    if /I "%q%" EQU "S" goto :s_instalar02    ::DEFINE QUE SE APERTAR 'S' ELE PARTE PARA O INSTALADOR 02, MAS NÃO FUNCIONA, ALGÉM AJUDA?    :n_instalar01    echo.    echo "PROGRAMA 'prog01.exe' NÃO EXECUTADO! (01/10)"echo %FORMATO% >> FormatComputer.logecho. >> FormatComputer.logecho PROGRAMA 'prog01.exe' NÃO EXECUTADO! >> FormatComputer.logecho --------------------- ( PROGRAMA NÃO EXECUTADO 01/10) ---------------------echo --------------------- ( PROGRAMA NÃO EXECUTADO 01/10) --------------------- >> FormatComputer.log    pause

Se alguém puder me judar, agradeço muito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talvez o problema seja que o script tem vários rótulos iguais? Quando você coloca "goto s_instalar" como o código vai decidir qual dos rótulos deve ser chamado se existem vários "s_instalar"?

 

Você deve fazer cada rótulo único no script.

 

Ex:

:s_instalar01

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×