Copie d'une racine vers un dossier erreur

codevisualB
Messages postés
7
Date d'inscription
lundi 25 septembre 2017
Statut
Membre
Dernière intervention
26 septembre 2017
- 25 sept. 2017 à 22:52
Whismeril
Messages postés
17331
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
- 27 sept. 2017 à 06:59
Bonjour,

Voici mon problème quand je veux copier les dossiers d'une racine ex: (F:\) vers un autre dossier cela ne fonctionne pas.

Voici le code :

My.Computer.FileSystem.CopyDirectory("J:\", "E:\Bureau\Dossier-Photo", True)

Voici l'erreur:

Une exception non gérée du type 'System.IO.IOException' s'est produite dans Microsoft.VisualBasic.dll

Informations supplémentaires : Impossible d'achever l'opération, car le répertoire est un répertoire racine : 'J:\'.

j'ai vu qu'il avait moyen de dire à Visual basique d'accepter les racines avec IOException.

seriez-vous m’aidez à résoudre ce problème

Merci

4 réponses

vb95
Messages postés
2629
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
13 mai 2022
151
26 sept. 2017 à 00:28
Bonjour

Tu dis : j'ai vu qu'il avait moyen de dire à Visual basique d'accepter les racines avec IOException.

Et tu as vu cela où ?
0
codevisualB
Messages postés
7
Date d'inscription
lundi 25 septembre 2017
Statut
Membre
Dernière intervention
26 septembre 2017

26 sept. 2017 à 00:32
Public Class IOException
Inherits InnerException

InnerException = l'instance Exception qui a provoqué l'exception actuelle.

j'ai peut-être mal compris ?
0
vb95
Messages postés
2629
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
13 mai 2022
151
Modifié le 26 sept. 2017 à 00:46
bonsoir !
Cette classe se produit en cas d'erreur dans le programme
L'erreur actuelle est le fait que le répertoire source est un répertoire racine !
Il n'est nullement marqué que Visual Basic peut dans ce cas accepter un répertoire racine ! Et VB 6 ne l'acceptera jamais !
C'est comme la division par 0 : VB ne l'accepte pas et déclenche une exception !

Pour ton problème il faut que tes photos dans le répertoire source ne soit pas dans J:\ mais dans J:\Photos par exemple . .
O
0
codevisualB
Messages postés
7
Date d'inscription
lundi 25 septembre 2017
Statut
Membre
Dernière intervention
26 septembre 2017

26 sept. 2017 à 01:13
serait-il possible de copier une racine via le shell ?
0
vb95
Messages postés
2629
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
13 mai 2022
151 > codevisualB
Messages postés
7
Date d'inscription
lundi 25 septembre 2017
Statut
Membre
Dernière intervention
26 septembre 2017

26 sept. 2017 à 01:25
aucune idée !
Je pratique plutôt VB Net depuis 10 ans environ maintenant !
J'ai abandonné VB 6 et tout ce qui va avec !
0
codevisualB
Messages postés
7
Date d'inscription
lundi 25 septembre 2017
Statut
Membre
Dernière intervention
26 septembre 2017

26 sept. 2017 à 01:23
he non pas par un Shell car je dois intégrer un label dans la commande et cela n'ira pas via un shell
0
codevisualB
Messages postés
7
Date d'inscription
lundi 25 septembre 2017
Statut
Membre
Dernière intervention
26 septembre 2017

26 sept. 2017 à 01:27
pour info ; Call Shell("cmd /c copy J:\dossier E:\Bureau\photo")
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
26 sept. 2017 à 08:35
Bonjour,

Forum Visual Basic Visual Basic 6

vraiment ?
0
vb95
Messages postés
2629
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
13 mai 2022
151
26 sept. 2017 à 11:26
Bonjour ucfoutu
Cela fait plaisir d'avoir de tes nouvelles et de voir que ta perspicacité est toujours aussi bonne !

Pour codevisualB : tu ne serais pas en VB Net parfois ?
0
Whismeril
Messages postés
17331
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
596
26 sept. 2017 à 18:02
Bonjour à tous les 2.
Dès le premier message il ne fait aucun doute que c'est du VB.net.
La bonne question est "encore un qui ne sait pas avec quel langage il travaille?"
0
Whismeril
Messages postés
17331
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
596
26 sept. 2017 à 20:12
Sans aller jusqu'à utiliser les API windows, tu peux faire une boucle qui copie chaque éléments de la racine.

            For Each fichier As String In Directory.GetFiles("J:\")
                My.Computer.FileSystem.CopyDirectory(fichier, "E:\Bureau\Dossier-Photo", True) 
            Next fichier
0
vb95
Messages postés
2629
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
13 mai 2022
151
26 sept. 2017 à 22:57
0
Whismeril
Messages postés
17331
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
596
26 sept. 2017 à 23:48
aussi
0
vb95
Messages postés
2629
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
13 mai 2022
151 > Whismeril
Messages postés
17331
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022

27 sept. 2017 à 04:07
bonjour Whis !
Petit souci avec le code que tu proposes :
 For Each fichier As String In Directory.GetFiles("J:\")
My.Computer.FileSystem.CopyDirectory(fichier, "E:\Bureau\Dossier-Photo", True)
Next fichier


Ce code ne copie que les répertoires contenus dans le lecteur racine J:\
Il ne copie pas les fichiers contenus dans la racine et provoque une exception
0
Whismeril
Messages postés
17331
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 mai 2022
596 > vb95
Messages postés
2629
Date d'inscription
samedi 11 janvier 2014
Statut
Modérateur
Dernière intervention
13 mai 2022

27 sept. 2017 à 06:59
Ha j'avoue avoie tapé de tête sans tester.
0