none
Teste de condição em BAT RRS feed

  • Pergunta

  • BOM DIA

    ESTOU PRECISANDO TESTAR AS SEGUINTES CONDIÇÕES: 

    1 - SE O TIPO DE INVENTARIO FOR IGUAL A "TER" ELE APRESENTA A PERGUNTA PARA INDICAR O "SETOR" SENÃO NÃO MOSTRA A PERGUNTA.

    SEGUE O SCRIPT.

    @echo off
    set origem=C:\est_tmp
    set destino=C:\ESTP
    set fileaj=ajust_000
    echo.
    @echo  *****************************************************************************
    @echo                         Importar Divergencia Maiores Itens 
    @echo  *****************************************************************************
    echo.
    @echo Tipos de Inventarios: PER(Pereciveis) / TER(Terceirizado)
    echo.
    set /p "tpinv=Digite o tipo de Inventario:"
    echo.
    set /p "filial=Digite a Filial Desejada:"
    echo.
    if "%tpinv%"=="ter"(
    set /p "setor=Digite Setor Inventariado:"
    )else(
    echo off 
    )
    GOTO.
    @echo off
    copy /Y "%origem%\%fileaj%%filial%.dbf" "%origem%\%tpinv%%filial%.dbf"
    move /-Y "%origem%\%fileaj%%filial%.dbf" "%origem%\Arquivo\%tpinv%%filial%%date:~0,2%%date:~3,2%%date:~ 6,10%.dbf"
    copy /Y "%origem%\%tpinv%%filial%.dbf" "%destino%%filial%"

    AGRADEÇO A AJUDA....


    • Editado Fábio JrModerator quinta-feira, 24 de abril de 2014 14:13 Título e formatação do código
    quinta-feira, 24 de abril de 2014 12:05

Respostas

  • Eduardo,

    Teste este

    @echo off
    set origem=C:\est_tmp
    set destino=C:\ESTP
    set fileaj=ajust_000
    echo.
    @echo  *****************************************************************************
    @echo                         Importar Divergencia Maiores Itens 
    @echo  *****************************************************************************
    echo.
    @echo Tipos de Inventarios: PER(Pereciveis) / TER(Terceirizado)
    echo.
    set /p tpinv=Digite o tipo de Inventario:
    echo.
    IF "%tpinv%" == "ter" (
    	set /p setor=Digite Setor Inventariado:
    ) ELSE (
    	ECHO OFF
    )
    GOTO.
    @echo off
    copy /Y "%origem%\%fileaj%%filial%.dbf" "%origem%\%tpinv%%filial%.dbf"
    move /-Y "%origem%\%fileaj%%filial%.dbf" "%origem%\Arquivo\%tpinv%%filial%%date:~0,2%%date:~3,2%%date:~ 6,10%.dbf"
    copy /Y "%origem%\%tpinv%%filial%.dbf" "%destino%%filial%"

    Veja que coloquei espaços entre o ELSE e os ") (", também retirei umas aspas que estavam nos comandos SET que acredito não serem necessárias.

    Dica: Quando suas batches estiverem com erro não use o @echo off, este comando esconde as mensagens, quando consertar o erro então ative novamente.


    Fábio de Paula Junior


    quinta-feira, 24 de abril de 2014 14:17
    Moderador

Todas as Respostas

  • Eduardo,

    Teste este

    @echo off
    set origem=C:\est_tmp
    set destino=C:\ESTP
    set fileaj=ajust_000
    echo.
    @echo  *****************************************************************************
    @echo                         Importar Divergencia Maiores Itens 
    @echo  *****************************************************************************
    echo.
    @echo Tipos de Inventarios: PER(Pereciveis) / TER(Terceirizado)
    echo.
    set /p tpinv=Digite o tipo de Inventario:
    echo.
    IF "%tpinv%" == "ter" (
    	set /p setor=Digite Setor Inventariado:
    ) ELSE (
    	ECHO OFF
    )
    GOTO.
    @echo off
    copy /Y "%origem%\%fileaj%%filial%.dbf" "%origem%\%tpinv%%filial%.dbf"
    move /-Y "%origem%\%fileaj%%filial%.dbf" "%origem%\Arquivo\%tpinv%%filial%%date:~0,2%%date:~3,2%%date:~ 6,10%.dbf"
    copy /Y "%origem%\%tpinv%%filial%.dbf" "%destino%%filial%"

    Veja que coloquei espaços entre o ELSE e os ") (", também retirei umas aspas que estavam nos comandos SET que acredito não serem necessárias.

    Dica: Quando suas batches estiverem com erro não use o @echo off, este comando esconde as mensagens, quando consertar o erro então ative novamente.


    Fábio de Paula Junior


    quinta-feira, 24 de abril de 2014 14:17
    Moderador
  • Fabio

    Funcionou... Agora só preciso ajustar a sequência após o o IF e ELSE, pois tenho que determinar ser o arquivo começar com "ter" vai receber um parâmetro e se estiver o "per" vai rebeber outro. Seria da mesma forma ou teria de colocar um ELSE IF? 

    sexta-feira, 25 de abril de 2014 11:00
  • Eduardo,

    Pra ficar mais simples faça dois IFs.

    IF "%tpinv%" == "ter" (
    	set /p setor=Digite Setor Inventariado:
    ) 
    
    IF "%tpinv%" == "per" (
    	set /p setor=Digite Setor Inventariado:
    ) 


    Fábio de Paula Junior

    sexta-feira, 25 de abril de 2014 13:36
    Moderador