..«¿© CrôCcòBi$çöTtò ®¿».. » How-to » Date dentro variabili in file bat

Date dentro variabili in file bat

Tue, Mar 3, 2009 · 4,480 views · Print This Post Print This Post · Email This Post Email This Post

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
(6 votes, average: 4.50 out of 5)
Loading ... Loading ...

Condividi l'articolo:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Twitter

Newsletter e Feed

Ti è piaciuto questo articolo? allora iscrivi alla newsletter, riceverai ogni nuovo post via mail!

Loading...Loading...


Se preferiferisci i feed ricordati di iscriverti ai miei Feed! RssFeed

Articoli Simili

Leader

Script batch dos data giorno precedente

Spesso capita di dover creare dei batch che spostano file con nomi che iniziano o che contengono la data del giorno precedente,se anche voi vi trovate con questo problema tra le mani ho qui per voi la soluzione. L’esempio che segue vi mostrerà come creare un semplice file batch tutto scritto in...Leggi tutto

Leader

Installare driver stampanti da linea di comando

Oggi ho dovuto installare i driver di alcuni modelli di stampanti su diversi pc,nota bene non installare tutta la stampante, ma solo i driver…In modo tale che se qualcuno si collega con sessioni di remote desktop la stampante locale viene montata correttamente.. fin qui niente di strano. La cosa...Leggi tutto

Leader

Leggere da un file di testo con i bat

A volte le cose più semplici possono farci perdere ore e ore, ad esempio una stupidità come la lettura di un file riga per riga con i bat di windows può essere un problema. Pubblico quindi qui sul blog un esempio di file bat che legge le righe da una file di testo e la stampa a video,ovviamente leggendo...Leggi tutto

Leader

Recuperare la data di installazione di un server windows

Può tornare utile in fase di invetario recuperare la data di installazione di un server windows, questo per svariati motivi, il primo per avere un invetario aggiornato e il secondo per la gestione delle licenze nel caso queste vengano pagate su tre anni fiscali. E’ possibile recuperare questa...Leggi tutto

Leader

Esportare utenti di un gruppo di Active Directory in un file csv

Se dovete estrarre tutte le persone che appartengono ad un gruppo di active directory su windows server ho pronto lo script che fa per voi, basta inserire il nome del dominio il nome del gruppo e lo script produrra un file di testo che conterrà tutti gli utenti che appartengono al gruppo indicato. Lo...Leggi tutto

2 Commenti per “Date dentro variabili in file bat”

Mar 06 2009
01:02

vecchio trucco da vecchia volpe ;-)

ti segnalo un piccolo refuso:

set mese=%DATE:~3,2%

e non 4,2

1
ciao
Mar 11 2009
16:41

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

2

Lascia un comento per “Date dentro variabili in file bat”





Copyright © 2010 · All rights reserved · WordPress · XHTML · Log in

79 queries. 0.584 seconds. 30.97 MB.