Newsgroup: it.comp.lang.visual-basic
Titolo: cambiare la data di creazione file

Poichè non trovo un tool già pronto, pensavo di scrivere io un programma in
VB.
In pratica dovrei potere cambiare in blocco la data di creazione di tutti i
files presenti in una cartella.
Sapete darmi una dritta sulle istruzioni utili da usare ?
Beh, se conoscete un freeware già fatto tanto meglio.
Gazie e ciao a tutti
Marco

 Sapete darmi una dritta sulle istruzioni utili da usare ?
cosě.. a brutto muso...
apri...
leggi...
scrivi...
cancelli...
rinomini...
tutti i file :-)
-- 
Salutoni
Sergio
per rispondere... togli il group dall'indirizzo

 tutti i file :-)
e se vuole datarli prima del giorno corrente? deve anche cambiare la data di
sistema...
No, non credo che sia una cosa "elegante" e priva di conseguenze
bye
-- 
Esistono 10 tipi di persone: chi conosce il binario e chi no.
www.nicolaottomano.it

 Sapete darmi una dritta sulle istruzioni utili da usare ?
forse può servirti questa???
Declare Function SetFileTime Lib "kernel32" Alias "SetFileTime" (ByVal hFile
As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME,
lpLastWriteTime As FILETIME) As Long
· hFile
Identifies the file for which to set the dates and times. The file handle
must have been created with GENERIC_WRITE access to the file.
· lpCreationTime
Points to a FILETIME structure that contains the date and time the file was
created. This parameter can be NULL if the application does not need to set
this information.
· lpLastAccessTime
Points to a FILETIME structure that contains the date and time the file was
last accessed. The last access time includes the last time the file was
written to, read from, or (in the case of executable files) run. This
parameter can be NULL if the application does not need to set this
information.
· lpLastWriteTime
Points to a FILETIME structure that contains the date and time the file was
last written to. This parameter can be NULL if the application does not want
to set this information.
byez

 must have been created with GENERIC_WRITE access to the file.
Mi basta aprirli per la srittura come files binari, eseguire il cambio data
e poi chiuderli senza modificarne il contenuto ? (si tratta di fotografie
JPG).
Marco

 Marco
Nein... Devi usare l'API OpenFile credo...
Comunque:
1) La data in cui una foto é stata scattata dalla maggior parte delle
macchine digitali in commercio é scritta dentro il file, infatti il file é,
sebbene l'estensione non tradisca nulla, non una JPEG, ma un EXIF che é un
estensione delle JPEG. Su internet trovi documentazione in merito. In modo
particolare ti rimando a 
http://www.wotsit.org/search.asp
.
2) Se proprio devi solo modificare la data di creazione di un file allora
ti consiglio di usare il FileSystemObject (Microsoft Scripting ecc. ecc.).
Dovrai portarti il riferimento ad una DLL, ma avrai molta più semplicità
nel farlo.
    Ciao
        Allanon
-- 
- SPAMKILLER
 lasciate il NOSPAM nell'indirizzo: 
itlangv...@michele.sytes.net
 e lasciate la parola SPAMKILLER nel corpo dell'email

 Nein... Devi usare l'API OpenFile credo...
grazie di tutto, mi sto accorgendo perň che forse il mio problema č
irrisolvibile.
Le foto in questione non provengono da una fotocamera ma sono delle vecchie
fotografie di famiglia acquisite con uno scanner e risalgono a partire dagli
anni '40 in avanti. Ora, la data di creazione č quella in cui sono state
acquisite, cioč quest'anno. Con le function "SetFileTime" mi accorgo che non
posso impostare una data cosě vecchia (forse dipende dal calendario di
windows ?).
Morale mi tocca tenerle con una data errata, cosa che mi comporta una errata
catalogazione quando le importo nel programma di archiviazione foto che sto
usando (parlo di Iphoto, AppleOsX).
Se ti viene in mente altro .... cmq grazie
Ciao
Marco

windows ?).
Mica vero: la SetFileTime parte dal 1601, quindi con il 1940 ci sei
dentro.
Piuttosto, quale windows usi? E, soprattutto, il software che deve
leggere la data del file e' in grado di riconoscere date esterne
all'intervallo 1980-2107?
Ah, n.b.: con il windows 2000 che ho su questo portatile, ho appena
impostato una data al 1606. Da gestione risorse non mi viene
visualizzata alcuna data, mentre il windows commander la traduce in
1980. Pero' se leggo la data con GetFileTime la leggo al 1606, come mi
aspetto.
-- 
ciao,
hal


wrote:
Riscrivo un po' meglio perche', rileggendo, mi sono accorto che non
sono stato chiaro.
Mica vero: la SetFileTime parte dal 1601, quindi con il 1940 ci sei
dentro.
Piuttosto, il software che deve leggere la data del file e' in grado
di riconoscere date esterne all'intervallo 1980-2107?
Non solo, ancora piu' importante credo sia la versione di windows su
cui si appoggia il software: con i sistemi NT non dovrebbero esserci
problemi, mentre con i vari Windows 9x/Me potrebbe essere davvero
senza via d'uscita.
Ho appena fatto una prova su questo portatile, che ha installato
Windows 2000 SP4. Con un piccolo programma che usa SetFileTime ho
impostato le date di creazione e ultima modifica al 5 gennaio 1606.
Da gestione risorse in visualizzazione dettagli non mi viene mostrata
la data di quel file, mentre il windows commander la traduce in
1990. Pero', se leggo la data con GetFileTime o accedo alle proprieta'
del file tramite Gestione Risorse, leggo proprio la data che ho
impostato.
-- 
ciao,
hal

 dentro.
Ciao,
ho appena riprovato (preciso che sto usando VisualBasic6 su XP Home) ma non
riesco a impostare una data anteriore al 1980 (cioč dalle proprietą in
gestione risorse rimane 1980).
Proverņ a fare l'operazione su W2000, sperando poi che Mac OsX (dove mi
serve avere questi files con la data giusta) non abbia lo stesso problema.
Grazie mille del supporto
Marco

 gestione risorse rimane 1980).
http://www.jddesign.f2s.com/touchpro.txt
e' una dll che ti apre un tab in proprieta'.
la uso tranquillamente dai tempi di win95 fino al 2000
non provata su xp
pero' mi ha lasciato scendere solo (ehehe) fino al 1752.
come dice hal, in gestione risorse non si vedeva piu' niente.
non ho provato da codice
-- 
hth, ciao, j.
http://www.sundaysw.com

 pero' mi ha lasciato scendere solo (ehehe) fino al 1752.
mmmhh .... vedrň di accontentarmi :-))
Ciao
Marco

 Marco
ho visto dopo che ora e' share.
se togliendo l'antispam l'indirizzo qui sopra e' buono, ti mando la vecchia
che ho io, che era free.
credo :)

 credo :)
ottimo, togli NOSPAMGRAZIE e manda pure !!
ciao
Marco