Manipulation de fichiers dans une application vb6

Signaler
Messages postés
409
Date d'inscription
jeudi 30 juin 2005
Statut
Membre
Dernière intervention
21 novembre 2013
-
Messages postés
51
Date d'inscription
dimanche 24 août 2003
Statut
Membre
Dernière intervention
29 octobre 2010
-
Bonjour,

J'ai crée une toute petite appli en vb qui devrait me permettre :
- avec un button 1 : effacer le contenu d'un repertoire contenu dans un hdd externe usb (la lettre ne changera jamais)
- avec un button 2 : copier le contenu d'un repertoire situe sur une partition d'un HDD vers le hdd externe precedant.
- avec un button 3 : fermer l'appli

rien de particulier me direz vous, pour le deplacement j'ai utilise FSO
Private Sub MoveFld(path_from, path_to) 
ss Dim fso, fldr 
ss Set fso = CreateObject("Scripting.FileSystemObject" ) 
ss Set fldr = fso.GetFolder(path_from) 
ss fldr.Move (path_to) 
End Sub 


pour l'effacement jepensais utiliser
strFile = "path \ filename" 
Set fs CreateObject("Scripting.FileSystemObject") Set fs CreateObject ("Scripting.FileSystemObject") 
fs.deletefile strFile fs.deletefile strFile 


j'ai bien sur renseigne path_from et to ainsi que path \ filename
mais rien de rien ne fonctionne, qu'ais je fait de mal ???
y aurait il quelque chose de plus simple ???

Merci

4 réponses

Messages postés
51
Date d'inscription
dimanche 24 août 2003
Statut
Membre
Dernière intervention
29 octobre 2010
1
hello,
Oui je sais mes lignes datent sûrement d'un autre temps (le DOS)
mais elles fonctionnent toujours (en VB-6 au moins)

Copier un fichier :
Filecopy "chemin\fichier source","chemin\fichier destination"

supprimer un fichier :
Kill "chemin\nom du fichier"

Créer un dossier :
MKdir "chemin\nom du dossier"

Supprimer un dossier (vide) :
RMdir "chemin\nom du dossier"

donc pour supprimer entièrement un dossier faut recuperer la liste des fichiers contenu dans le dossier (grâce à un FileListBox par ex.)
supprimer chaque fichier puis supprimer le dossier vide

Voili voilou ça a l'air complexe mais avec une boucle bien étudier ça roule vite et bien
Messages postés
409
Date d'inscription
jeudi 30 juin 2005
Statut
Membre
Dernière intervention
21 novembre 2013

merci beaucoup de ton aide mais ..... rien ne fonctionne
j'ai juste, pour tester la fonction de copie,inseré ce petit code
Private Sub Command1_Click()
FileCopy "F:\autorun\vb6\setup.exe", "Z\Test\setup.exe"
End Sub
'avec F:\autorun\vb6\setup.exe mon fichier source et Z\Test\setup.exe ma destination, avec et sans le nom du fichier

puis
Private Sub Command1_Click()
FileCopy "F:\autorun\vb6", "Z\Test"
End Sub
'avec F:\autorun\vb6\le chemin de mon fichier source et Z\Test\ la destination de mon fichier setup.exe

et hop .... message d'erreur : erreur d'execution 76 : chemin d'acces introuvable
Messages postés
550
Date d'inscription
jeudi 12 octobre 2006
Statut
Membre
Dernière intervention
6 juin 2015
3
Z\Test\setup.exe ???

Z:\ il manque deux points ou c'est un lecteur sur un réseau ?
Messages postés
51
Date d'inscription
dimanche 24 août 2003
Statut
Membre
Dernière intervention
29 octobre 2010
1
Hello ,
si "Duke49" ne solutionne pas ton problème (hé oui y manque quelque chose)
c'est que comme le dis le code d'erreur, le chemin n'est pas valide : il y a une erreur dans ton chemin source ou peut-être le dossier destination qui n'existe pas et dans ce cas faut d'abord le créer avec mkdir

pour le "2ème" code c'est normal que ça marche pas :
Un filecopy ne peut pas copier l'ensemble d'un dossier !
il faut (par ex)un filelist avec le bon "path"
et l'utiliser pour copier fichier après fichier grâce à ce filelist