Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Propriétés des dossiers

14 réponses
Avatar
scraper
(Re-)Bonjour à tous !

une petite question sur les propriétés des dossiers ?

j'arrive à récupérer les propriétés des fichiers, mais pour les dossiers, je
sais pas comment faire ?
(je cherche à récupérer la date de création du répertoire ... ou, si c'est
possible, la date de modification des fichiers qu'il contient, et je ne sais
vers où me retourner ...
...à part la solution très lourde de parcourir tout le répertoire et de
comparer les dates de modification de chacun des fichiers ... ??


une idée ?

merci d'avance...



--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper

10 réponses

1 2
Avatar
ng
Salut,

As-tu essayé avec l'API getFileTime() ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

scraper wrote:
(Re-)Bonjour à tous !

une petite question sur les propriétés des dossiers ?

j'arrive à récupérer les propriétés des fichiers, mais pour les
dossiers, je sais pas comment faire ?
(je cherche à récupérer la date de création du répertoire ... ou, si
c'est possible, la date de modification des fichiers qu'il contient,
et je ne sais vers où me retourner ...
...à part la solution très lourde de parcourir tout le répertoire et
de comparer les dates de modification de chacun des fichiers ... ??


une idée ?

merci d'avance...


Avatar
scraper
Bonjour ng
(dans news:)
tu nous disais :

Salut,

As-tu essayé avec l'API getFileTime() ?



hello !

merci de ta réponse ...

à priori, cette API ne fonctionne pas pour les dossiers ...

je vois pas trop comment faire ?


--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper
Avatar
ng
Salut,

Si théoriquement cela fonctionne, mais tu peux faire autrement (plus
simple), regarde mon post :
http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selm=uGe1SGLIEHA.3440%40TK2MSFTNGP09.phx.gbl&rnum=4

Sinon pour utiliser getFileTIme() :
http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selmëx2bv2uAHA.1864%40tkmsftngp03&rnum=6

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

scraper wrote:
Bonjour ng
(dans news:)
tu nous disais :

Salut,

As-tu essayé avec l'API getFileTime() ?



hello !

merci de ta réponse ...

à priori, cette API ne fonctionne pas pour les dossiers ...

je vois pas trop comment faire ?


Avatar
Patrice Henrio
Si les choses continuent à fonction comme au temps du bon vieux DOS, à la
création du dossier il se crée automatiquement un fichier nommé "." et un
autre nommé "..", en regardant les heures de créations de l'un de ces deux
fichiers on a la date de création du répertoire.

PS : je n'ai pas vérifié et ce que je viens de dire est peut-être
complêtement obsolète.

"ng" a écrit dans le message de news:
Ot%
Salut,

Si théoriquement cela fonctionne, mais tu peux faire autrement (plus
simple), regarde mon post :
http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selm=uGe1SGLIEHA.3440%40TK2MSFTNGP09.phx.gbl&rnum=4

Sinon pour utiliser getFileTIme() :
http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selmëx2bv2uAHA.1864%40tkmsftngp03&rnum=6

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

scraper wrote:
Bonjour ng
(dans news:)
tu nous disais :

Salut,

As-tu essayé avec l'API getFileTime() ?



hello !

merci de ta réponse ...

à priori, cette API ne fonctionne pas pour les dossiers ...

je vois pas trop comment faire ?






Avatar
scraper
Bonjour Patrice Henrio
(dans news:)
tu nous disais :

Si les choses continuent à fonction comme au temps du bon vieux DOS,
à la création du dossier il se crée automatiquement un fichier nommé
"." et un autre nommé "..", en regardant les heures de créations de
l'un de ces deux fichiers on a la date de création du répertoire.

PS : je n'ai pas vérifié et ce que je viens de dire est peut-être
complêtement obsolète.




merci à tous les 2, je vais explorer ces pistes, et je vous tiens au courant

merci :-)


--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper
Avatar
scraper
Bonjour Patrice Henrio
(dans news:)
tu nous disais :

Si les choses continuent à fonction comme au temps du bon vieux DOS,
à la création du dossier il se crée automatiquement un fichier nommé
"." et un autre nommé "..", en regardant les heures de créations de
l'un de ces deux fichiers on a la date de création du répertoire.



ben je sais pas si ces fichiers existent tjs (je crois que oui, n
éanmoins...) mais getFileTime sur ces fichiers ne fonctionne pas ??

tant pis

merci quand même ...


--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper
Avatar
Jean-Marc
"scraper" a écrit dans le message de
news:%
Bonjour Patrice Henrio
(dans news:)
tu nous disais :

> Si les choses continuent à fonction comme au temps du bon vieux DOS,
> à la création du dossier il se crée automatiquement un fichier nommé
> "." et un autre nommé "..", en regardant les heures de créations de
> l'un de ces deux fichiers on a la date de création du répertoire.

ben je sais pas si ces fichiers existent tjs (je crois que oui, n
éanmoins...) mais getFileTime sur ces fichiers ne fonctionne pas ??



Hello,

ce ne sont pas des fichiers mais des répertoires.
"." représente "moi même"
".." représente "le répertoire dont je suis un des sous répertoires"

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't.">
Avatar
scraper
Bonjour Jean-Marc
(dans news:4193bb9b$0$21238$)
tu nous disais :


ben je sais pas si ces fichiers existent tjs (je crois que oui, n
éanmoins...) mais getFileTime sur ces fichiers ne fonctionne pas ??



Hello,

ce ne sont pas des fichiers mais des répertoires.
"." représente "moi même"
".." représente "le répertoire dont je suis un des sous répertoires"



crotte !!

et en plus, je le savais !(que c'étaient des répertoires, je veux dire)
:-)

merci ...

--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper
Avatar
scraper
Bonjour ng
(dans news:Ot%)
tu nous disais :

Salut,

Si théoriquement cela fonctionne, mais tu peux faire autrement (plus
simple), regarde mon post :



http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selm=uGe1SGLIEHA.3440%40TK2MSFTNGP09.phx.gbl&rnum=4

Sinon pour utiliser getFileTIme() :



http://groups.google.fr/groups?qÚte+r%C3%A9pertoire+group:*vb*&hl=fr&lr=&selmëx2bv2uAHA.1864%40tkmsftngp03&rnum=6




yes ....

merci beaucoup !!

en fait, j'utilisais la fonction trouvé dans l'API Guide ... qui,
fonctionnait pas mal ... mais ceci m'a permis d'y voir plus clair ... :-)

si j'ajoute le fait que mes résultats étaient faussés parce que je vérifiais
la date de création sur un fichier qui était modifié 'donc, réécrit, mais
pas écrit => la date changeait pas !) eh bien je suis arrivé à un résultat
globalement satisfaisant ...

(en testant la date de chaque fichier du répertoire, et en conservant la
plus récente)


merci


--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper
Avatar
Jean-Marc
"scraper" a écrit dans le message de
news:%237$
en fait, j'utilisais la fonction trouvé dans l'API Guide ... qui,
fonctionnait pas mal ... mais ceci m'a permis d'y voir plus clair ... :-)

si j'ajoute le fait que mes résultats étaient faussés parce que je


vérifiais
la date de création sur un fichier qui était modifié 'donc, réécrit, mais
pas écrit => la date changeait pas !) eh bien je suis arrivé à un résultat
globalement satisfaisant ...

(en testant la date de chaque fichier du répertoire, et en conservant la
plus récente)




Hello,
si tu n'as pas peur des méthodes un peu bourrines, et si tu veux
connaitre la date et heure réelle de création de ton répertoire,
voici pour toi: le principe est de créer un fichier batch pour DOS
qui contient une commande DIR. Dans le fichier batch, on redirige la
sortie du DIR vers un fichier. A la fin de l'exécution du batch, on
ouvre le fichier de sortie et on le parse vite fait bien fait pour
retouver la date et l'heure. C'est pas merveilleux comme technique,
mais peu importe: ça fonctionne. Donc voici. le code est dans la SUB
myGetDirDateTime() qui utilise en plus ExecCmd qu'il faut définir
dans un module. Je place ici un exemple d'appel de ma sub, la sub
elle même, et le code à placer dans un module.


' exemple d'appel
Private Sub Command1_Click()
Dim myDate As String
Dim myTime As String

Call myGetDirDateTime("c:JM", myDate, myTime)
MsgBox "repertoire créé le " & myDate & " à l'heure: " & myTime
End Sub

' la sub elle même
Private Sub myGetDirDateTime(sDirectory As String, ByRef theDate As String,
ByRef theTime As String)
Dim cmd As String
Dim f As Integer
Dim s As String
Dim p As Integer
Dim dat As String
Dim tim As String

cmd = "command.com /C dir " & sDirectory & "* > c:dir.txt"
cmd = cmd & vbCrLf & "exit" & vbCrLf
f = FreeFile
Open "c:mydir.bat" For Output As #f
Print #f, cmd
Close #f
ExecCmd ("c:mydir.bat")
f = FreeFile
Open "c:dir.txt" For Input As #f
While Not (EOF(f))
Line Input #f, s
p = InStr(s, "<DIR>")
If p Then
dat = Trim$(Mid$(s, p + 5))
dat = Trim$(Mid$(dat, 1, InStr(dat, " ")))
tim = Trim$(Mid$(s, InStr(s, dat) + Len(dat)))
theDate = dat
theTime = tim
End If
Wend
Close #f
End Sub

' et le execCmd à placer dans un module
Private Type STARTUPINFO
cb As Long
lpReserved As String
lpDesktop As String
lpTitle As String
dwX As Long
dwY As Long
dwXSize As Long
dwYSize As Long
dwXCountChars As Long
dwYCountChars As Long
dwFillAttribute As Long
dwFlags As Long
wShowWindow As Integer
cbReserved2 As Integer
lpReserved2 As Long
hStdInput As Long
hStdOutput As Long
hStdError As Long
End Type

Private Type PROCESS_INFORMATION
hProcess As Long
hThread As Long
dwProcessID As Long
dwThreadID As Long
End Type

Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal _
hHandle As Long, ByVal dwMilliseconds As Long) As Long

Private Declare Function CreateProcessA Lib "kernel32" (ByVal _
lpApplicationName As String, ByVal lpCommandLine As String, ByVal _
lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, _
ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, _
ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As String, _
lpStartupInfo As STARTUPINFO, lpProcessInformation As _
PROCESS_INFORMATION) As Long

Private Declare Function CloseHandle Lib "kernel32" _
(ByVal hObject As Long) As Long

Private Declare Function GetExitCodeProcess Lib "kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) As Long

Private Const NORMAL_PRIORITY_CLASS = &H20&
Private Const INFINITE = -1&

Public Function ExecCmd(cmdline$)
Dim proc As PROCESS_INFORMATION
Dim start As STARTUPINFO
Dim ret As Long
' Initialize the STARTUPINFO structure:
start.cb = Len(start)

' Start the shelled application:
ret& = CreateProcessA(vbNullString, cmdline$, 0&, 0&, 1&, _
NORMAL_PRIORITY_CLASS, 0&, vbNullString, start, proc)

' Wait for the shelled application to finish:
ret& = WaitForSingleObject(proc.hProcess, INFINITE)
Call GetExitCodeProcess(proc.hProcess, ret&)
Call CloseHandle(proc.hThread)
Call CloseHandle(proc.hProcess)
ExecCmd = ret&
End Function


ouf, et voila!

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
1 2