cs_stef79
Messages postés3Date d'inscriptionsamedi 13 mai 2006StatutMembreDernière intervention 2 avril 2009
-
1 avril 2009 à 17:03
cs_stef79
Messages postés3Date d'inscriptionsamedi 13 mai 2006StatutMembreDernière intervention 2 avril 2009
-
2 avril 2009 à 15:48
Bonjour les développeurs, je recherche un code ou au moins quelque chose s'approchant de mon besoin.
Je souhaite après avoir renseigné une combox ( mon fichier "toto.bak")
rechercher à travers plusieurs lecteurs (de c:\ à z:\)
si mon fichier existe sur ces lecteurs et dans les différents répertoires présents sur ces lecteurs.
suite à cela, si mon fichier existe, je souhaite le recopier dans un répertoire déterminé
( h:\temporaire)
si il n'existe pas, afficher "fichier non trouvé"
pouvez vous m'aider s'il vous plait.
STEF79
A voir également:
Rechercher un fichier sur plusieurs lecteurs et le recopier si trouve sur un rep
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 1 avril 2009 à 20:17
Bonjour,
La chose est certes possible, mais :
1) selon la capacité de stockage de ta machine (de chacun des volumes), tu risques fort de trouver le temps plutôt long (à peu près la même durée que celle à partir de "rechercher" depuis l'explorateur !!!
2) "recopîer" si trouvé ? Ben ...oui, mais : quid s'il en trouve plusieurs, avec le même nom, dans des volumes et/ou répertoires distincts ?
Ta demande est assez curieuse.
Dans quelles circonstances et pourquoi cherches-tu à faire çà ?
cs_stef79
Messages postés3Date d'inscriptionsamedi 13 mai 2006StatutMembreDernière intervention 2 avril 2009 2 avril 2009 à 08:46
Bonjour jmf0,
merci pour ta réponse,
je cherche à faire cela car je me suis rendu compte que certains fichiers disparaissaient de temps en temps de mon répertoire de stockage.
je souhaiterais donc que lorsqu'une personne a besoin d'un fichier, qu'elle renseigne un champ avec le nom souhaité.
lorsque ce fichier est trouvé, le mettre sur un répertoire de travail et garder une copie de l'original à l'endroit initial.
pour info:
(un seul lecteur - 15 répertoires avec sous certains 40 sous répertoires)
les fichiers dans le répertoire de stockage sont en lecture seule.
seuls les noms "toto.extension" seront admis et transférables, et il n'existe qu'un seul nom identique (garanti).
certaines personnes ne savent pas se servir de l'explorateur windows et la seule souris qu'ils connaissent c'est Mickey. bonjour le malaise.
c'est pour cela qu'un petit programme serait le bienvenu.
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 2 avril 2009 à 08:59
ceci te permet de trouver un fichier dans une arborescence :
Private Declare Function SearchTreeForFile Lib "imagehlp" (ByVal RootPath As String, ByVal InputPathName As String, ByVal OutputPathBuffer As String) As Long
Private Const MAX_PATH = 260
Private Sub Command1_Click()
Dim repertoire As String, fichier As String
repertoire = "d:\monoutil"
fichier = "essai.txt"
MsgBox trouve(repertoire, fichier)
End Sub
Private Function trouve(R As String, F As String) As String
Dim T As String, resu As Long
T = String(MAX_PATH, 0)
resu = SearchTreeForFile(R, F, T)
If resu <> 0 Then
trouve = Left$(T, InStr(1, T, Chr$(0)) - 1): Exit Function
End If
End Function
Si tu n'as qu'un seul lecteur, tu donnes ce lecteur comme départ (repertoire = "c:", par exemple).
Tu as ainsi dans trouve, le chemin complet du fichier en cause...
A toi de le copier où tu veux (s'il est copiable, hein ...) ... et çà, quand même, je pense que tu sais le faire !