Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    98

    [Batch] Problema con condizione

    Salve a tutti, sto cercando di realizzare un file batch che preso in input un parametro, lo analizzi per vedere se si tratta di una 's' o di un qualsiasi altro carattere.

    Il codice è il seguente:
    codice:
    echo offSET /P scelta="Vuoi avviare il programma? Digita 's' per avviarlo, qualsiasi altro tasto per non avviarlo: "
    set scelta=s
    IF "%scelta%"=="s"
    (
    	ECHO Fra qualche secondo verra' avviato il programma...
    )
    ELSE
    ( 
    	ECHO ciao
    )
    Sapreste dirmi per quale motivo, il prompt si chiude non appena do in input qualsiasi tasto?

    - Grazie a tuti

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Intanto le prime due righe sono unite in una sola. Come mai?

    Poi mi sembra che manchi l'input dell'utente e quindi il programma va avanti e quando termina il prompt di chiude naturalmente perché il processo si conclude.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    98
    codice:
    echo off
    SET /P scelta="Vuoi avviare il programma? Digita 's' per avviarlo, qualsiasi altro tasto per non avviarlo: "
    SET scelta="s"
    IF "%scelta%"=="s"
    (
        ECHO Fra qualche secondo verra' avviato il programma...
        timeout /t 3
    )
    ELSE
    ( 
        ECHO ciao
    )
    Questo è il codice corretto, per sbaglio le prime due righe erano state unite... Anyway:
    La riga
    codice:
    SET /P scelta="Vuoi avviare il programma? Digita 's' per avviarlo, qualsiasi altro tasto per non avviarlo: "
    non dovrebbe servire a prendere in input un parametro dall'utente?

    Per quanto riguarda la riga
    codice:
    set scelta="s"
    l'ho utilizzato per controllare se ci fossero problemi di qualche tipo nell'input, ma anche forzando la variabile scelta ad assumere il valore "s", il programma si chiudere immediatamente, nonostante l'aggiunta dello sleep.
    Ultima modifica di Tiime; 09-07-2017 a 18:16

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Scrivi così

    codice:
    echo off
    SET /P scelta="Vuoi avviare il programma? Digita 's' per avviarlo, qualsiasi altro tasto per non avviarlo: "
    IF "%scelta%"=="s" (
        ECHO Fra qualche secondo verra' avviato il programma...
        timeout /t 3
    ) ELSE ( 
        ECHO ciao
    )

    e comunque doveva essere

    set scelta=s


    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    98
    Non ci credo che tutto il problema risiedesse nell'indentazione

    PS: conosci per caso qualche modo per poter scrivere la frase che appare prima della richiesta di input su più righe?
    Ultima modifica di Tiime; 10-07-2017 a 10:12

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Usa delle ECHO
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    98
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Usa delle ECHO
    Le ECHO non dovrebbero apparire soltanto dopo la pressione del tasto?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    E perché? Usale quando vuoi
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.