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

    [Bat] Concatenazione di IF

    Ciao a ttt...
    l'altro giorno.. mi è venuto in mente di creare un pregrammano.. o meglio serie di istruzioni in batch che all'avvio del pc.. compaia una finestra cn una frase diversa a seconda dell'orario..
    Esempio:
    sn le 6.45 e mi deve comparire una finestra con scritto :"Ciao..Sono le %TIME%, Non t svegli?"

    /*oppure*/

    sn le 18.54 e mi deve comparire una finestra con scritto :"Ciao..Sono le %TIME%, Buona Serata"

    //e così via x le diverse fascie orarie...

    il codice che per ora sn riuscito a fare è il seguente:

    codice:
     SET /q /s t=%TIME% 
    if t gtr "00.00.00,00" echo Ciao..Sono le %TIME%, Non t svegli? >> saluto1.txt
    if t gtr "07.00.00,00" echo Ciao..Sono le %TIME%, Buona Mattinata  >> saluto2.txt
    if t gtr "13.00.00,00" echo Ciao..Sono le %TIME%, Buon Pomeriggio  >> saluto3.txt 
    if t gtr "18.00.00,00" echo Ciao..Sono le %TIME%, Buona Serata  >> saluto4.txt
    if t gtr "23.00.00,00" echo Ciao..Sono le %TIME%, Non vai a dormire?? >> saluto5.txt   
      
    rem EQU - uguale 
    rem NEQ - diverso da 
    rem LSS - minore di 
    rem LEQ - minore o uguale 
    rem GTR - maggiore di 
    rem GEQ - maggiore di o uguale
    Lo so.. ma siccome sn ankora in fase di progettazione.. per un fatto di velocità nel vedere se il programma mi funzika correttamente.. gli faccio creare un file testo.. col nome diverso a seconda della diversa situazione...
    Una volta col codice funzionante lo adetterò alle mie esigenze..

    Il mio problema.. nasce quando faccio partire il mio programma.. e non mi crea il file testo cn all'interno la frase desiderata.. Ma me li crea tutti...

    Grz 1000 in anticipo...

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    ciao,
    da quello che hai postato credo proprio che il tuo programma funzioni correttamente!

    se ad esempio t= 13:50 si verificano 3 delle tue 5 condizioni. etc.etc.

    per risolverlo io farei cosi:


    codice:
     SET /q /s t=%TIME% 
    if t lss "07.00.00,00" echo Ciao..Sono le %TIME%, Non t svegli? >> saluto1.txt
    if t lss "13.00.00,00" echo Ciao..Sono le %TIME%, Buona Mattinata  >> saluto2.txt
    if t lss "18.00.00,00" echo Ciao..Sono le %TIME%, Buon Pomeriggio  >> saluto3.txt 
    if t lss "23.00.00,00" echo Ciao..Sono le %TIME%, Buona Serata  >> saluto4.txt
    if t lss "23.59.59,00" echo Ciao..Sono le %TIME%, Non vai a dormire?? >> saluto5.txt
    ciao

  3. #3
    A livello teorico sì.. Se sn le 13.50 quindi, t= 13:50 , si dovrebbero creare 3 file testo.. Ma purtoppo non è così... E non riesco a capire il perchè... Ho provato anche a vedere il codice ke mi hai postato.. ma purtoppo.. non mi crea assolutamente nulla..
    Ho provato anche a creare lo stesso programma usando :

    IF istruzioni GOTO

    .. ma non va...
    Ho trovato anche , che si può usare l'istruzione condizionale ELSE.. ma non va..
    Sn ad un punto morto..

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    codice:
    @echo off
    :: variables
    if %time:~0,2% leq 9 (set timeV="0%time:~1,1%%time:~3,2%%time:~6,2%") else (set timeV="%time:~0,2%%time:~3,2%%time:~6,2%")
    if %timeV% lss "235959" set stringa='Ciao..Sono le %TIME%, Non vai a dormire??' 
    if %timeV% lss "230000" set stringa='Ciao..Sono le %TIME%, Buona Serata' 
    if %timeV% lss "180000" set stringa='Ciao..Sono le %TIME%, Buon Pomeriggio' 
    if %timeV% lss "130000" set stringa='Ciao..Sono le %TIME%, Buona Mattinata' 
    if %timeV% lss "070000" set stringa='Ciao..Sono le %TIME%, Non t svegli?'
    echo %stringa%
    @pause
    ciao

  5. #5
    Grazie
    Proprio quello che avevo intenzione di fare
    Grazie 1000

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.