Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    (BATCH) Non so come utilizzare il comando if

    Ciao a tutti volevo realizzare un piccolo programmino in .bat e trovo difficoltà a utilizzare il comando if... La difficoltà è in questa parte:

    Set /p INPUT=%=%
    if %INPUT% == (non so che mettere) goto:3
    if %INPUT% == chiudi exit
    :3

    nella parentesi "non so che mettere" non so perché voglio dare la possibilità all'esecutore di digitare ciò che vuole lui oppure digitare il comando chiudi per uscire dall' applicazione... Quando digito exit mi funziona... mentre se digito qualcosa di diverso mi funziona anche quello ma se inserisco lo spazio l'applicazione si chiude perché ? Grazie in anticipo
    Ultima modifica di Antonio05200; 23-02-2016 a 20:13

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    nella parentesi "non so che mettere" non so perché voglio dare la possibilità all'esecutore di digitare ciò che vuole lui
    quello che c'è tra parantesi, lo ha immesso l'esecutore, ma tu devi prevedere la risposta alla domanda che hai posto all'interlocutore

    giusto per indicarti il funzionamento ti posto una parte di un "menu" a 2 livelli, che scrissi nel 1985,
    dovrebbe suggerirti come impostare il tuo codice
    codice:
    @echo off
    color 1F
    :myAPP
    cls
    @echo myAPP
    @echo  
    @echo 4        Utilita'  funzioni di backup e monitoraggio dell'archivio dei dati
    @echo 5   Installazione  Prepara l'ambiente di lavoro
    @echo F            Fine  esci dall'applicazione
    set OPT1=1
    goto :quadro
    
    :utilita
    cls
    @echo UTILITA'
    @echo  
    @echo 1     Salvataggio  salva il contenuto degli archivi per sicurezza 
    @echo 2      Ripristino  riporta gli archivi ad una situazione salvata in precedenza
    @echo 3            Info  ottieni informazioni sugli archivi
    @echo 4      Congruenza  controlla la congruenza degli archivi
    @echo 5     Consistenza  controlla la consistenza delle informazioni
    @echo F            Fine  esci dalla funzione
    set OPT1=5
    goto :quadro
    
    :installazione
    cls
    @echo INSTALLAZIONE
    @echo  
    @echo 1        Database  crea il database che conterra' tutte le informazioni
    @echo 2          Indici  crea gli indici di ricerca nel database
    @echo 3         Tabelle  importa valori standard nelle tabelle di riferimento
    @echo 4           Stato  riporta tutti i valori allo stato iniziale
    @echo F            Fine  esci dalla funzione
    @echo  
    set OPT1=6
    goto :quadro
    
    exit
    
    :quadro
    @echo  
    @echo  
    @echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    @echo qui puoi mettere un logo (volendo)
    @echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    @echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . homemade software by me
    @echo  
    
    set /P OPT2=scegli una funzione : 
    if %OPT2%==F goto :fine
    if %OPT2%==f goto :fine
    
    set OPT3=%OPT1%%OPT2%
    
    :menu-myAPP
    if %OPT3%==14 goto :utilita
    if %OPT3%==15 goto :installazione
    if %OPT1%==1 goto :myAPP
    
    :menu-utilita
    if %OPT3%==51 goto :51
    if %OPT3%==52 goto :52
    if %OPT3%==53 goto :53
    if %OPT3%==54 goto :54
    if %OPT3%==55 goto :55
    if %OPT1%==5 goto :utilita
    
    :menu-installazione
    if %OPT3%==61 goto :61
    if %OPT3%==62 goto :62
    if %OPT3%==63 goto :63
    if %OPT3%==64 goto :64
    if %OPT3%==65 goto :65
    if %OPT1%==6 goto :installazione
    
    exit
    
    :51
    cls
    echo esegui funzione %OPT3%
    pause
    goto :utilita
    :52
    cls
    echo esegui funzione %OPT3%
    pause
    goto :utilita
    :53
    cls
    echo esegui funzione %OPT3%
    pause
    goto :utilita
    :54
    cls
    echo esegui funzione %OPT3%
    pause
    goto :utilita
    :55
    cls
    echo esegui funzione %OPT3%
    pause
    goto :utilita
    :61
    cls
    echo esegui funzione %OPT3%
    pause
    goto :installazione
    :62
    cls
    echo esegui funzione %OPT3%
    pause
    goto :installazione
    :63
    cls
    echo esegui funzione %OPT3%
    pause
    goto :installazione
    :64
    cls
    echo esegui funzione %OPT3%
    pause
    goto :installazione
    
    :fine
    if %OPT1%==1 goto :esci
    goto :myAPP
    
    :esci
    cls
    exit
    Ultima modifica di marino51; 23-02-2016 a 21:50

  3. #3
    Va bene grazie mille!! l'unico che mi ha risposto... comunque avevo sbagliato... Volevo dire che volevo dare la possibilità all'interlocutore di digitare ciò che vuole per andare avanti... Quindi fare ciò è impossibile? grazie

  4. #4
    Quote Originariamente inviata da marino51 Visualizza il messaggio
    quello che c'è tra parantesi, lo ha immesso l'esecutore, ma tu devi prevedere la risposta alla domanda che hai posto all'interlocutore

    giusto per indicarti il funzionamento ti posto una parte di un "menu" a 2 livelli, che scrissi nel 1985,
    dovrebbe suggerirti come impostare il tuo codice
    codice:
    @echo off
    color 1F
    :myAPP
    cls
    @echo myAPP
    @echo  
    @echo 4        Utilita'  funzioni di backup e monitoraggio dell'archivio dei dati
    @echo 5   Installazione  Prepara l'ambiente di lavoro
    @echo F            Fine  esci dall'applicazione
    set OPT1=1
    goto :quadro
    
    :utilita
    cls
    @echo UTILITA'
    @echo  
    @echo 1     Salvataggio  salva il contenuto degli archivi per sicurezza 
    @echo 2      Ripristino  riporta gli archivi ad una situazione salvata in precedenza
    @echo 3            Info  ottieni informazioni sugli archivi
    @echo 4      Congruenza  controlla la congruenza degli archivi
    @echo 5     Consistenza  controlla la consistenza delle informazioni
    @echo F            Fine  esci dalla funzione
    set OPT1=5
    goto :quadro
    
    :installazione
    cls
    @echo INSTALLAZIONE
    @echo  
    @echo 1        Database  crea il database che conterra' tutte le informazioni
    @echo 2          Indici  crea gli indici di ricerca nel database
    @echo 3         Tabelle  importa valori standard nelle tabelle di riferimento
    @echo 4           Stato  riporta tutti i valori allo stato iniziale
    @echo F            Fine  esci dalla funzione
    @echo  
    set OPT1=6
    goto :quadro
    
    exit
    
    :quadro
    @echo  
    @echo  
    @echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    @echo qui puoi mettere un logo (volendo)
    @echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    @echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . homemade software by me
    @echo  
    
    set /P OPT2=scegli una funzione : 
    if %OPT2%==F goto :fine
    if %OPT2%==f goto :fine
    
    set OPT3=%OPT1%%OPT2%
    
    :menu-myAPP
    if %OPT3%==14 goto :utilita
    if %OPT3%==15 goto :installazione
    if %OPT1%==1 goto :myAPP
    
    :menu-utilita
    if %OPT3%==51 goto :51
    if %OPT3%==52 goto :52
    if %OPT3%==53 goto :53
    if %OPT3%==54 goto :54
    if %OPT3%==55 goto :55
    if %OPT1%==5 goto :utilita
    
    :menu-installazione
    if %OPT3%==61 goto :61
    if %OPT3%==62 goto :62
    if %OPT3%==63 goto :63
    if %OPT3%==64 goto :64
    if %OPT3%==65 goto :65
    if %OPT1%==6 goto :installazione
    
    exit
    
    :51
    cls
    echo esegui funzione %OPT3%
    pause
    goto :utilita
    :52
    cls
    echo esegui funzione %OPT3%
    pause
    goto :utilita
    :53
    cls
    echo esegui funzione %OPT3%
    pause
    goto :utilita
    :54
    cls
    echo esegui funzione %OPT3%
    pause
    goto :utilita
    :55
    cls
    echo esegui funzione %OPT3%
    pause
    goto :utilita
    :61
    cls
    echo esegui funzione %OPT3%
    pause
    goto :installazione
    :62
    cls
    echo esegui funzione %OPT3%
    pause
    goto :installazione
    :63
    cls
    echo esegui funzione %OPT3%
    pause
    goto :installazione
    :64
    cls
    echo esegui funzione %OPT3%
    pause
    goto :installazione
    
    :fine
    if %OPT1%==1 goto :esci
    goto :myAPP
    
    :esci
    cls
    exit



    visto che ci sei mi potresti dire come inserire il logo? Scusa l'ignoranza ma sono alle prime armi con il batch... Vorrei iniziare a studiare questo per poi passare a linguaggi più complessi come Python C C++ ecc.

  5. #5
    Bene ho capito quindi devo prevedere ciò che potrebbe scrivere l'interlocutore... Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    visto che ci sei mi potresti dire come inserire il logo?
    stai usando il dos, hai un'interfaccia a caratteri,
    quindi puoi usare un insieme di caratteri (anche speciali) per ottenere un "simil" disegno o parole scritte con la composizione successiva di righe

    ps, attento agli echo che sembrano vuoti in realtà vi è il carattere "09" backspace,
    serve per ottenere una riga vuota, si vedono bene usando il blocco note
    spero che la loro rappresentazione qui, non venga falsata
    Ultima modifica di marino51; 23-02-2016 a 22:16

  7. #7
    Quote Originariamente inviata da marino51 Visualizza il messaggio
    stai usando il dos, hai un'interfaccia a caratteri,
    quindi puoi usare un insieme di caratteri (anche speciali) per ottenere un "simil" disegno o parole scritte con la composizione successiva di righe

    ps, attento agli echo che sembrano vuoti in realtà vi è il carattere "09" backspace,
    serve per ottenere una riga vuota, si vedono bene usando il blocco note
    spero che la loro rappresentazione qui, non venga falsata
    Ho altre sue domande:
    1)come si fa il carattere 09 backspace?
    2) conosci tecnicamente il nome di questi insiemi di caratteri? Così cerco su internet e faccio copia e incolla con uno... Sai è difficile e richiede molto tempo... Grazie in anticipo

    PS. Scusa se sto facendo tutte queste domande ma sei l'unico che ha risposto che a quanto pare conosce bene il batch

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    09 è il tab, non il backspace. E' il carattere di tabulazione.
    Cerca "ASCII table" su google. Il primo risultato.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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 © 2025 vBulletin Solutions, Inc. All rights reserved.