Disponibilité de fichier

alainbiou Messages postés 2 Date d'inscription samedi 8 mars 2003 Statut Membre Dernière intervention 11 mars 2006 - 11 mars 2006 à 01:02
asecher Messages postés 262 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 27 avril 2007 - 11 mars 2006 à 21:23
Bonjour,

j'ai fait un petit bout de code qui scrute en permanence une directory et dés qu'un fichier y est déposé, prend le fichier pour l'envoyer en FTP sur un serveur. Si tout marche bien sur des petits fichiers, il en est pas de meme sur des fichiers importants car les temps de copie n'etant plus negligeable, mon bout de code prend le fichier avant que celui ci ne soit entierement copié dans la directory, ce qui provoque des erreurs au moment du tranfert ftp.
Y a t il une primitive API ou une autre astuce pour savoir si un fichier quelconque est libre, sans aucun utilisateur en cours dessus ?

VEVE

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
11 mars 2006 à 01:10
Salut
A mon avis, deux solutions :
- Si erreur, c'est que le fichier est en cours d'utilisation --> Gérer l'erreur et reporter à plus tard la même action
- Faire une copie locale du fichier (+ rapide) et transférer la copie.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
0
asecher Messages postés 262 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 27 avril 2007 1
11 mars 2006 à 21:23
Tu peux aussi vérifier si la taille du fichier change entre deux scans.
Function ShowFileSize(filespec)
Dim fso, f, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(filespec)
s = UCase(f.Name) & " utilise " & f.size & " octets."
ShowFileSize = s
End Function

Alain 31
0
Rejoignez-nous