PDA

Visualizza la versione completa : [batch] else if


torrone
10-04-2012, 12:50
è la prima volta che scrivo un file bat :D
ne sto creando uno che mi esegua il backup di una cartella in un altra... fin qui nessun problema diciamo..
ho messo che prima di far partire il download devo scrivere "si" per farlo partire e "no" per non farlo partire...
però se metto "no" funziona e non lo fa partire mentre se metto qualsiasi altro carattere, lettera, mi fa partire il download.. come posso fare?



@echo off
title Backup
cls
echo.
echo Vuoi eseguire il backup?
echo (si) SI
echo (no) NO
echo.
set /p Scelta=
IF %Scelta% EQU si GOTO BACKUP
IF %Scelta% EQU no GOTO CHIUDI

:BACKUP
// istruzioni backup

:CHIUDI
cls
exit /b

:CONCLUSO
cls
echo.
echo Backup completato!!!
echo.
pause
exit /b

torn24
10-04-2012, 13:12
Non conosco molto il file bat ?

comunque , metti due condizioni , se nessuna delle due è verificata , come
succede se inserisci qualcosa di diverso da SI o NO , lo script prosegue con le istruzzioni
sucessive , per questo ti sembra che ci sia qualcosa che non va !





@echo off
title Backup
cls
echo.
echo Vuoi eseguire il backup?
echo (si) SI
echo (no) NO
echo.
set /p Scelta=
IF %Scelta% EQU si GOTO BACKUP
IF %Scelta% EQU no GOTO CHIUDI
rem devi mettere qualcosa che termina il programma altrimenti esegue in tutti i
rem casi diversi da no il backup
GOTO CHIUDI
:BACKUP
// istruzioni backup

:CHIUDI
cls
exit /b

:CONCLUSO
cls
echo.
echo Backup completato!!!
echo.
pause
exit /b

torrone
10-04-2012, 13:15
esatto... ho risolto infatti così



:DOMANDA
cls
echo.
echo Vuoi eseguire il backup?
echo (si) SI
echo (no) NO
echo.

set /p Scelta="Comando da eseguire:"
set Scelta=%Scelta%
IF %Scelta% EQU si GOTO BACKUP
IF %Scelta% EQU no GOTO CHIUDI
GOTO DOMANDA


grazie mille :fagiano:

Loading