View Full Version : [DOS] Inserire data di sistema nel nome del file
Brigante
25-10-2006, 09:53
Buongiorno! In un file batch avrei la necessità di inserire la data di sistema nel nome del file, per eseguire dei backups incrementali tramite winrar.
Ho fatto così: nome_del_file_%DATE%.rar
ma non va bene, poichè mi viene restituito "mer 25/10/2006", invece io vorrei concatenare solo la data, in questo modo: nome_del_file_25/10/2006.rar
Come posso fare?
Grazie!
Buongiorno! In un file batch avrei la necessità di inserire la data di sistema nel nome del file, per eseguire dei backups incrementali tramite winrar.
Ho fatto così: nome_del_file_%DATE%.rar
ma non va bene, poichè mi viene restituito "mer 25/10/2006", invece io vorrei concatenare solo la data, in questo modo: nome_del_file_25/10/2006.rar
Come posso fare?
Grazie!Prima di tutto nota bene che il carattere '/' non è valido nei nomi di file!
I batch purtroppo sono (molto) limitati. Io personalmente ti consiglierei di usare dei linguaggi di scripting (es. Perl, Python o anche WSH) ma non so quali siano le tue conoscenze tecniche.
repne scasb
25-10-2006, 11:16
Va bene la sintassi "nome_del_file_%DATE%.rar", ma:
1) Apri "Pannello di controllo"
2) Apri "Opzioni internazionali e della lingua"
3) Click su "Personalizza"
4) Click su "Data"
5) Selezionare come "Separatore data" il caraattere "-" al posto del carattere "/"
6) Confermare il tutto
In modo da ottenere un nome di file "valido".
Brigante
25-10-2006, 12:27
Ho modificato il separatore della data, non ci avevo fatto caso :)
Comunque il problema è lo spazio tra mer e la data "mer 25-10-2006". Devo riuscire ad avere solo la data (senza il mer).
Brigante
26-10-2006, 11:17
...Che dite, non vi viene in mente niente? :bsod:
:)
...Che dite, non vi viene in mente niente? :bsod:
:)A me personalmente non piace smanettare nelle opzioni globali del sistema solo per avere una data in un certo formato da usare in 1 programma, o cose simili.
Rimango della idea che per queste cose è meglio utilizzare un linguaggio di scripting, sicuramente più potente dei batch! ;)
Ad esempio in Perl, la generazione del nome del file si può fare così:
use POSIX;
$data = strftime "%d-%m-%Y", localtime;
$nomefile = "nome_del_file_$data";
Beh, in effetti nel 2006 mi sembra un po' "strano" usare i file batch (che sono davvero limitati), quando esistono gli script più seri. Io non l'ho quasi mai utilizzato, ma se non vuoi usare un interprete dedicato per il tuo script (es. perl) puoi usare Microsoft Script Host (che è incluso di default ne SO, ed utilizza una sintassi stile VBScript).
EDIT: Prova a copiare questo codice in un file chiamato "nomescript.vbs" (è importante l'estensione, il nome lo scegli tu):
data = Day(Now) & "-" & Month(Now) & "-" & Year(Now)
nomeFile = "nome_del_file" & data
Wscript.echo nomeFile
Salva e fai doppio click.
L'ultma riga del codice l'ho messa solo per visualizzare il risultato, tu poi ci fai quello che vuoi :D
NOTA: il comando di console per lanciare lo script è cscript nomefile.vbs
EDIT 2: IMHO il file batch erano comunque anacronistici anche quando sono usciti, considerando lo scripting sh/bash/tcsh/ecc... esistente su linux già a quel tempo.
Brigante
26-10-2006, 12:30
OK, ragazzi, utilizzero uno script.
Grazie! Vi faccio sapere.
;)
Brigante
26-10-2006, 12:33
Beh, in effetti nel 2006 mi sembra un po' "strano" usare i file batch (che sono davvero limitati), quando esistono gli script più seri. Io non l'ho quasi mai utilizzato, ma se non vuoi usare un interprete dedicato per il tuo script (es. perl) puoi usare Microsoft Script Host (che è incluso di default ne SO, ed utilizza una sintassi stile VBScript).
EDIT: Prova a copiare questo codice in un file chiamato "nomescript.vbs" (è importante l'estensione, il nome lo scegli tu):
data = Day(Now) & "-" & Month(Now) & "-" & Year(Now)
nomeFile = "nome_del_file" & data
Wscript.echo nomeFile
Salva e fai doppio click.
L'ultma riga del codice l'ho messa solo per visualizzare il risultato, tu poi ci fai quello che vuoi :D
NOTA: il comando di console per lanciare lo script è cscript nomefile.vbs
EDIT 2: IMHO il file batch erano comunque anacronistici anche quando sono usciti, considerando lo scripting sh/bash/tcsh/ecc... esistente su linux già a quel tempo.
OK, funziona a meraviglia.
Grazie mille!
;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.