Cestino sparito Vista
Oggi mi squilla il cellulare intorno alle 12.00, e mi viene comunicato: “Ciao,oh mi è sparito il cestino in windows vista”...Leggi tutto
Capita spesso di dover lavorare con script che manipolano file che iniziano o finiscono con la data attuale o precedente. Se dovete lavorare con i file bat potete manipolare in maniera abbastanza agevole le date, ad esempio potete memorizzare in una variabile il giorno o il mese o l’anno e quindi potete sistemare e riformattare la data in qualsiasi modo per poterla inserire nei vostri script.
Il comando dos che si occupa del recupero e del settaggio della data è: “data”, con l’opzione “data /T” si visualizza la data attuale mentre con il comando “data” si setta la data.
Alla stessa maniera è possibile manipolare l’ora con il comando “time” si può memorizzare l’intera ora in una variabile oppure è possibile prelevare solo i minuti o i secondi.
vediamo quindi come estrapolare solo quello che ci interessa con i comandi dos.
Il concetto è molto semplice, si prende l’output del comando time o date e lo si assegna ad una variabile. Durante questa assegnazione si specifica di prelevare solo alcuni caratteri della stringa.
Ecco un esempio pratico:
set mese=%DATE:~3,2%
set giorno=%DATE:~0,2%
set anno=%DATE:~-4%
con questo semplice codice diciamo di memorizzare dentro la variabile mese solo il mese,in pratica vengono prelevati solo gli ultimi 4 caratteri della stringa data.
se la data è: 04/03/2009 vengono prelevati solo gli ultimi caratteri.
Analogamente vale lo stesso giochetto per giorno e anno,dall’esempio che c’è sopra è illustrato come recuperare ora, giorno ed anno.
Ed ecco un esempio completo di script che prende mese,giorno,anno e li mette in una variabiele e poi li stampa:
set mese=%DATE:~4,2%
set giorno=%DATE:~0,2%
set anno=%DATE:~-4%
echo %giorno%
echo %mese%
echo %anno%
Lo stesso gioco vale con il comando time, si tratta solo di dire recuperare tutta la tringa dell’ora e di prelevare in seguito solo i caratteri che ci interessano. spero che questo semplice codice possa tornare utile a qualcuno ciaoo
Vota l’articolo
Ti è piaciuto questo articolo? allora iscrivi alla newsletter, riceverai ogni nuovo post via mail!
Loading...Se preferiferisci i feed ricordati di iscriverti ai miei Feed! 
si incastrerà quasi di sicuro con i diversi formati delle date …
un sistema altrettanto breve ma un filo più “stabile” :
@echo off & setlocal enableextensions
::crea la variabile today con anno-mese
for /f “tokens=1-3 delims=./-” %%f in (“%date%”) do (
set day_=%%f
set month_%%g
set year_=%%h
)
con %time% in più c’è il problema dello spazio al posto dello 0 per le ore da mezzanotte alle 10 di mattina…
per saperne di più, cfr ftp://garbo.uwasa.fi/pc/ts
vecchio trucco da vecchia volpe
ti segnalo un piccolo refuso:
set mese=%DATE:~3,2%
e non 4,2