My batch file will close when I press enter

Discussion forum for all Windows batch related topics.

Moderator: DosItHelp

Post Reply
Message
Author
giuliop
Posts: 2
Joined: 25 Jan 2017 12:39

My batch file will close when I press enter

#1 Post by giuliop » 25 Jan 2017 12:44

Hi, sorry for my bad english, but I'm Italian.
I have the following code:

Code: Select all

@echo off
title Parisini 3Binf
echo [[]                  ] Caricamento in corso (10%)
echo off
ping localhost -n 2 >nul
cls
echo [  []                ] Caricamento in corso (20%)
echo off
ping localhost -n 1 >nul
cls
echo [    []              ] Caricamento in corso (30%)
echo off
ping localhost -n 3 >nul
cls
echo [      []            ] Caricamento in corso (40%)
echo off
ping localhost -n 1 >nul
cls
echo [        []          ] Caricamento in corso (50%)
echo off
ping localhost -n 1 >nul
cls
echo [          []        ] Caricamento in corso (60%)
echo off
ping localhost -n 2 >nul
cls
echo [            []      ] Caricamento in corso (70%)
echo off
ping localhost -n 1 >nul
cls
echo [              []    ] Caricamento in corso (80%)
echo off
ping localhost -n 1 >nul
cls
echo [                []  ] Caricamento in corso (90%)
echo off
ping localhost -n 4 >nul
cls
echo [                  []] Caricamento in corso (100%)
ping localhost -n 2 >nul
cls

echo Programma creato da: Parisini Giulio
echo Classe: 3Binf
echo -----------------------------------------------------------
:menu
echo (1) ADDIZIONE
echo (2) SOTTRAZIONE
echo (3) MOLTIPLICAZIONI
echo (4) DIVISIONE
set /p "scelta = Scelgi un numero tra 1 e 4 e premi INVIO: "
if %scelta% == 1 goto add
if %scelta% == 2 goto sottrazione
if %scelta% == 3 goto moltiplicazione
if %scelta% == 4 goto divisione
echo Numero inserito non valido, tra 3 secondi verrai reindirizzato al menu' principale
ping localhost -n 4 >nul
echo 3
ping localhost -n 4 >nul
echo 2
ping localhost -n 4 >nul
echo 1
ping localhost -n 4 >nul
goto menu
:add
echo Inserisci il primo numero:
set /p a1=
echo Inserisci il secondo numero:
set /p b1=
[[]                                                         ] Calcolando 5%
ping localhost -n 2 >nul
cls
[   []                                                      ] Calcolando 10%
ping localhost -n 2 >nul
cls
[      []                                                   ] Calcolando 15%
ping localhost -n 2 >nul
cls
[         []                                                ] Calcolando 20%
ping localhost -n 2 >nul
cls
[            []                                             ] Calcolando 25%
ping localhost -n 2 >nul
cls
[               []                                          ] Calcolando 30%
ping localhost -n 2 >nul
cls
[                  []                                       ] Calcolando 35%
ping localhost -n 2 >nul
cls
[                     []                                    ] Calcolando 40%
ping localhost -n 2 >nul
cls
[                        []                                 ] Calcolando 45%
ping localhost -n 2 >nul
cls
[                           []                              ] Calcolando 50%
ping localhost -n 2 >nul
cls
[                              []                           ] Calcolando 55%
ping localhost -n 2 >nul
cls
[                                 []                        ] Calcolando 60%
ping localhost -n 2 >nul
cls
[                                    []                     ] Calcolando 65%
ping localhost -n 2 >nul
cls
[                                       []                  ] Calcolando 70%
ping localhost -n 2 >nul
cls
[                                          []               ] Calcolando 75%
ping localhost -n 2 >nul
cls
[                                             []            ] Calcolando 80%
ping localhost -n 2 >nul
cls
[                                                []         ] Calcolando 85%
ping localhost -n 2 >nul
cls
[                                                   []      ] Calcolando 90%
ping localhost -n 2 >nul
cls
[                                                      []   ] Calcolando 95%
ping localhost -n 2 >nul
cls
[                                                         []] Calcolando 100%
ping localhost -n 4 >nul
cls
set /a a= %a1%
set /a b= %b1%
set /a c=%a%+%b%

echo La somma tra %a% e %b% vale %c%
 
pause


I say (set /p "scelta = Scelgi un numero tra 1 e 4 e premi INVIO: ")
When I press 1 (for example) and ENTER the program close automatically...
How can I do it?
Last edited by Squashman on 25 Jan 2017 12:47, edited 1 time in total.
Reason: MOD EDIT: Please use code tags.

Squashman
Expert
Posts: 4486
Joined: 23 Dec 2011 13:59

Re: My batch file will close when I press enter

#2 Post by Squashman » 25 Jan 2017 12:49

When using the SET command do not put a space before the equals symbol.

Code: Select all

set /p "scelta=Scelgi un numero tra 1 e 4 e premi INVIO: "


You are missing an ECHO in front of all these lines.

Code: Select all

[[]                                                         ] Calcolando

giuliop
Posts: 2
Joined: 25 Jan 2017 12:39

Re: My batch file will close when I press enter

#3 Post by giuliop » 25 Jan 2017 13:39

Thanks a lot!

thefeduke
Posts: 211
Joined: 05 Apr 2015 13:06
Location: MA South Shore, USA

Re: My batch file will close when I press enter

#4 Post by thefeduke » 27 Jan 2017 00:12

You may have noticed that you are not seeing the percent signs in your displays.

You need to double them up when using ECHO.

For Example wrote:echo [[] ] Caricamento in corso (10%%)

John A.

Post Reply