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

    File batch con parte dinamica

    Salve a tutti!

    E' la prima volta che provo a scrivere un file batch, ed avrei bisogno di sapere come (e se) è possibile eseguire comandi differenti in base ad alcuni parametri (principalmente la data).
    Ho bisogno di eseguire delle operazioni in directory differenti in base alla data.
    Vorrei anche sapere se e come è possibile indicare un path che comprenda degli spazi al suo interno.

    Grazie in anticipo a tutti!

    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  2. #2
    Utente di HTML.it L'avatar di newbie
    Registrato dal
    Dec 2005
    Messaggi
    299

    Re: File batch con parte dinamica

    Originariamente inviato da Xion Aritel
    Salve a tutti!

    E' la prima volta che provo a scrivere un file batch, ed avrei bisogno di sapere come (e se) è possibile eseguire comandi differenti in base ad alcuni parametri (principalmente la data).
    Ho bisogno di eseguire delle operazioni in directory differenti in base alla data.
    Si potrebbe usare
    codice:
    IF NOT "%DATE%" == "10/08/2006" GOTO data_diversa
    
    (...cosa fare se la data è il 10 agosto...)
    
    :data_diversa
    Vorrei anche sapere se e come è possibile indicare un path che comprenda degli spazi al suo interno.
    Basta mettere il path tra virgolette, ad esempio
    codice:
    copy "C:\Cartella 1\file di testo.txt" "C:\Nuova cartella\nuovo file.txt"
    Svegliati, Neo. Matrix ti possiede...

  3. #3

    Re: Re: File batch con parte dinamica

    Originariamente inviato da newbie
    Si potrebbe usare
    codice:
    IF NOT "%DATE%" == "10/08/2006" GOTO data_diversa
    
    (...cosa fare se la data è il 10 agosto...)
    
    :data_diversa
    Grazie!
    Ma se la condizione fosse solo in base al mese?

    Inoltre è possibile prendere il valore della data ed utilizzarlo come variabile (per comporre un path, ad esempio)?
    Avrei necessità di creare cartelle diverse per ogni data e rinominare il file che copio in base all'ora in cui effettuo la copia. Sono piccoli file di cui devo fare il backup ogni ora senza cancellare la copia precedente, racchiudendo tutti i file di un giorno nella directory di quel giorno all'interno della giusta directory del mese.
    E' possibile?

    Grazie in anticipo!

    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  4. #4
    Utente di HTML.it L'avatar di newbie
    Registrato dal
    Dec 2005
    Messaggi
    299

    Re: Re: Re: File batch con parte dinamica

    Originariamente inviato da Xion Aritel
    Inoltre è possibile prendere il valore della data ed utilizzarlo come variabile (per comporre un path, ad esempio)?
    Per estrarre giorno, mese e anno dalla data (o anche ore, minuti e secondi dall'orario %time%) puoi usare la sintassi di estrazione caratteri %variabile:~inizio,numero_caratteri%.
    Supponendo cioè che la data sia nel formato
    gg/mm/aaaa data
    0123456789 posizione carattere a partire da 0

    gg: inizia alla posizione 0, lunga 2 caratteri
    mm: inizia alla posizione 3, lunga 2 caratteri
    aaaa: inizia alla posizione 6, lunga 4 caratteri

    scrivendo
    codice:
    set giorno=%date:~0,2%
    set mese=%date:~3,2%
    set anno=%date:~6,4%
    A questo punto %giorno%, %mese% e %anno% contengono le parti singole della data, che possono essere usate in un IF... e così via.

    Avrei necessità di creare cartelle diverse per ogni data e rinominare il file che copio in base all'ora in cui effettuo la copia. Sono piccoli file di cui devo fare il backup ogni ora senza cancellare la copia precedente, racchiudendo tutti i file di un giorno nella directory di quel giorno all'interno della giusta directory del mese.
    E' possibile?
    Credo si possa, anche se bisogna lavorare un po' con le stringhe. Per includere il valore di una variabile in un path (per creare file e cartelle, copiarli, aprirli...) se ad esempio vuoi aprire un file il cui path è "C:\Prova cartella\File<mese>.txt", dove <mese> è il mese corrente, puoi usare (ad esempio per aprirlo in Blocco note)
    codice:
    notepad "C:\Prova cartella\File%mese%.txt"
    dove %mese% è la variabile in cui hai salvato il mese.
    Tutto sta nell'organizzare tutto, nomi di file, cartelle, ecc.

    Buon divertimento
    Svegliati, Neo. Matrix ti possiede...

  5. #5

    Re: Re: Re: Re: File batch con parte dinamica

    Originariamente inviato da newbie
    Per estrarre giorno, mese e anno dalla data (o anche ore, minuti e secondi dall'orario %time%) puoi usare la sintassi di estrazione caratteri %variabile:~inizio,numero_caratteri%.
    Supponendo cioè che la data sia nel formato
    gg/mm/aaaa data
    0123456789 posizione carattere a partire da 0

    gg: inizia alla posizione 0, lunga 2 caratteri
    mm: inizia alla posizione 3, lunga 2 caratteri
    aaaa: inizia alla posizione 6, lunga 4 caratteri

    scrivendo
    codice:
    set giorno=%date:~0,2%
    set mese=%date:~3,2%
    set anno=%date:~6,4%
    A questo punto %giorno%, %mese% e %anno% contengono le parti singole della data, che possono essere usate in un IF... e così via.


    Credo si possa, anche se bisogna lavorare un po' con le stringhe. Per includere il valore di una variabile in un path (per creare file e cartelle, copiarli, aprirli...) se ad esempio vuoi aprire un file il cui path è "C:\Prova cartella\File<mese>.txt", dove <mese> è il mese corrente, puoi usare (ad esempio per aprirlo in Blocco note)
    codice:
    notepad "C:\Prova cartella\File%mese%.txt"
    dove %mese% è la variabile in cui hai salvato il mese.
    Tutto sta nell'organizzare tutto, nomi di file, cartelle, ecc.

    Buon divertimento
    Grazie infinite, provo il tutto e vedo come va.




    EDIT: Funziona alla perfezione, grazie infinite!!!
    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  6. #6
    Utente di HTML.it L'avatar di newbie
    Registrato dal
    Dec 2005
    Messaggi
    299

    Re: Re: Re: Re: Re: File batch con parte dinamica

    Originariamente inviato da Xion Aritel
    Grazie infinite, provo il tutto e vedo come va.




    EDIT: Funziona alla perfezione, grazie infinite!!!
    Preghe, non c'è di che!
    Svegliati, Neo. Matrix ti possiede...

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.