OVH Cloud OVH Cloud

Copier un repertoire

7 réponses
Avatar
Ciginfo
Bonjour
J'ai besoin de Faire une copie de tous les fichiers d'un repertoire en vue
de programmer une sauvegarde. J'utilise le code suivant, pourquoi ça ne
fonctionne pas ???

Dim fs
Dim Source, Destination
Set fs = CreateObject("Scripting.FileSystemObject")
Source = "C:\MON_DOSSIER\*"
Destination = "C:\NEW_DOSSIER\"
fs.copyFolder Source, Destination, True

'J'ai sans arret ce message d'erreur
'"Erreur 76, Chemin d'acces introuvable", alors que MON_DOSSIER est bien un
repertoire de C:\, qu'il n'a pas de sous repertoire et qu'il existe 2
fichiers dans MON_DOSSIER ???

Merci de vos réponses

François

7 réponses

Avatar
Christophe
Bonjour,
Oublies FSO!

Un petit exemple de classe que tu pourras modifier pour tes besoins

Christophe Vergon

Private mchemin As String
Private mnom As String
Private mextention As String * 3

Public Property Get chemin() As String
chemin = mchemin
End Property

Public Property Let chemin(ByVal vNewValue As String)
If Mid$(vNewValue, Len(vNewValue), 1) <> "" Then
vNewValue = vNewValue & ""
End If
mchemin = vNewValue
End Property
Public Property Get nomfichier() As String
nomfichier = mnom
End Property
Public Property Let nomfichier(ByVal vNewValue As String)
mnom = vNewValue
End Property
Public Property Get extention() As String
extention = mextention
End Property

Public Property Let extention(ByVal vNewValue As String)
mextention = vNewValue
End Property

Public Function existe() As Boolean
Dim a$
a$ = Dir(mchemin & mnom & "." & mextention)
If a$ = "" Then
existe = False
Else
existe = True
End If

End Function

Public Sub renomme(NewName As String)
Name mchemin & mnom & "." & mextention As mchemin & NewName & "." &
mextention
End Sub

Public Sub deplace(newpath As String)
If Mid$(newpath, Len(newpath), 1) <> "" Then
newpath = newpath & ""
End If
Name mchemin & mnom & "." & mextention As newpath & mnom & "." & mextention
End Sub

Public Sub CopieEtRenomme(NewName As String, ext As String)

Dim oldname As String
Dim newcompletename As String

oldname = mchemin & mnom & "." & mextention
newcompletename = mchemin & NewName & "." & ext
FileCopy oldname, newcompletename

End Sub
Public Sub efface()
Dim n As String
n = mchemin & mnom & "." & mextention
Kill (n)
End Sub

"Ciginfo" a écrit dans le message de news:
bm0a9s$35u$
Bonjour
J'ai besoin de Faire une copie de tous les fichiers d'un repertoire en vue
de programmer une sauvegarde. J'utilise le code suivant, pourquoi ça ne
fonctionne pas ???

Dim fs
Dim Source, Destination
Set fs = CreateObject("Scripting.FileSystemObject")
Source = "C:MON_DOSSIER*"
Destination = "C:NEW_DOSSIER"
fs.copyFolder Source, Destination, True

'J'ai sans arret ce message d'erreur
'"Erreur 76, Chemin d'acces introuvable", alors que MON_DOSSIER est bien


un
repertoire de C:, qu'il n'a pas de sous repertoire et qu'il existe 2
fichiers dans MON_DOSSIER ???

Merci de vos réponses

François




Avatar
GhislainTanguay
Dim fs As FileSystemObject
Dim Source, Destination
Set fs = New Scripting.FileSystemObject
Source = "C:MON_DOSSIER*.*"
Destination = "C:NEW_DOSSIER"
fs.CopyFile Source, Destination, True


"Ciginfo" a écrit dans le message de
news:bm0a9s$35u$
Bonjour
J'ai besoin de Faire une copie de tous les fichiers d'un repertoire en vue
de programmer une sauvegarde. J'utilise le code suivant, pourquoi ça ne
fonctionne pas ???

Dim fs
Dim Source, Destination
Set fs = CreateObject("Scripting.FileSystemObject")
Source = "C:MON_DOSSIER*"
Destination = "C:NEW_DOSSIER"
fs.copyFolder Source, Destination, True

'J'ai sans arret ce message d'erreur
'"Erreur 76, Chemin d'acces introuvable", alors que MON_DOSSIER est bien


un
repertoire de C:, qu'il n'a pas de sous repertoire et qu'il existe 2
fichiers dans MON_DOSSIER ???

Merci de vos réponses

François




Avatar
Ciginfo
Merci à tous, je vais essayer ça.

François
"Ciginfo" a écrit dans le message de news:
bm0a9s$35u$
Bonjour
J'ai besoin de Faire une copie de tous les fichiers d'un repertoire en vue
de programmer une sauvegarde. J'utilise le code suivant, pourquoi ça ne
fonctionne pas ???

Dim fs
Dim Source, Destination
Set fs = CreateObject("Scripting.FileSystemObject")
Source = "C:MON_DOSSIER*"
Destination = "C:NEW_DOSSIER"
fs.copyFolder Source, Destination, True

'J'ai sans arret ce message d'erreur
'"Erreur 76, Chemin d'acces introuvable", alors que MON_DOSSIER est bien


un
repertoire de C:, qu'il n'a pas de sous repertoire et qu'il existe 2
fichiers dans MON_DOSSIER ???

Merci de vos réponses

François




Avatar
Ciginfo
Malheureusement je n'arrive pas à faire fonctionner cela pour copier tous
les fichiers d'un coup pouvant être dans un même repertoire. je ne peux
copier qu'un fichier à la fois.

François

"Christophe" a écrit dans le message de news:
bm0e0h$8f6$
Bonjour,
Oublies FSO!

Un petit exemple de classe que tu pourras modifier pour tes besoins

Christophe Vergon

Private mchemin As String
Private mnom As String
Private mextention As String * 3

Public Property Get chemin() As String
chemin = mchemin
End Property

Public Property Let chemin(ByVal vNewValue As String)
If Mid$(vNewValue, Len(vNewValue), 1) <> "" Then
vNewValue = vNewValue & ""
End If
mchemin = vNewValue
End Property
Public Property Get nomfichier() As String
nomfichier = mnom
End Property
Public Property Let nomfichier(ByVal vNewValue As String)
mnom = vNewValue
End Property
Public Property Get extention() As String
extention = mextention
End Property

Public Property Let extention(ByVal vNewValue As String)
mextention = vNewValue
End Property

Public Function existe() As Boolean
Dim a$
a$ = Dir(mchemin & mnom & "." & mextention)
If a$ = "" Then
existe = False
Else
existe = True
End If

End Function

Public Sub renomme(NewName As String)
Name mchemin & mnom & "." & mextention As mchemin & NewName & "." &
mextention
End Sub

Public Sub deplace(newpath As String)
If Mid$(newpath, Len(newpath), 1) <> "" Then
newpath = newpath & ""
End If
Name mchemin & mnom & "." & mextention As newpath & mnom & "." &


mextention
End Sub

Public Sub CopieEtRenomme(NewName As String, ext As String)

Dim oldname As String
Dim newcompletename As String

oldname = mchemin & mnom & "." & mextention
newcompletename = mchemin & NewName & "." & ext
FileCopy oldname, newcompletename

End Sub
Public Sub efface()
Dim n As String
n = mchemin & mnom & "." & mextention
Kill (n)
End Sub

"Ciginfo" a écrit dans le message de news:
bm0a9s$35u$
> Bonjour
> J'ai besoin de Faire une copie de tous les fichiers d'un repertoire en


vue
> de programmer une sauvegarde. J'utilise le code suivant, pourquoi ça ne
> fonctionne pas ???
>
> Dim fs
> Dim Source, Destination
> Set fs = CreateObject("Scripting.FileSystemObject")
> Source = "C:MON_DOSSIER*"
> Destination = "C:NEW_DOSSIER"
> fs.copyFolder Source, Destination, True
>
> 'J'ai sans arret ce message d'erreur
> '"Erreur 76, Chemin d'acces introuvable", alors que MON_DOSSIER est bien
un
> repertoire de C:, qu'il n'a pas de sous repertoire et qu'il existe 2
> fichiers dans MON_DOSSIER ???
>
> Merci de vos réponses
>
> François
>
>




Avatar
François Picalausa
Bonjour/soir,

Voir la faq:
http://faq.vb.free.fr/index.php?question5

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"Ciginfo" a écrit dans le message de
news:bm1khs$a5r$
Malheureusement je n'arrive pas à faire fonctionner cela pour copier
tous les fichiers d'un coup pouvant être dans un même repertoire. je
ne peux copier qu'un fichier à la fois.

François

"Christophe" a écrit dans le message de news:
bm0e0h$8f6$
Bonjour,
Oublies FSO!

Un petit exemple de classe que tu pourras modifier pour tes besoins

Christophe Vergon

Private mchemin As String
Private mnom As String
Private mextention As String * 3

Public Property Get chemin() As String
chemin = mchemin
End Property

Public Property Let chemin(ByVal vNewValue As String)
If Mid$(vNewValue, Len(vNewValue), 1) <> "" Then
vNewValue = vNewValue & ""
End If
mchemin = vNewValue
End Property
Public Property Get nomfichier() As String
nomfichier = mnom
End Property
Public Property Let nomfichier(ByVal vNewValue As String)
mnom = vNewValue
End Property
Public Property Get extention() As String
extention = mextention
End Property

Public Property Let extention(ByVal vNewValue As String)
mextention = vNewValue
End Property

Public Function existe() As Boolean
Dim a$
a$ = Dir(mchemin & mnom & "." & mextention)
If a$ = "" Then
existe = False
Else
existe = True
End If

End Function

Public Sub renomme(NewName As String)
Name mchemin & mnom & "." & mextention As mchemin & NewName & "." &
mextention
End Sub

Public Sub deplace(newpath As String)
If Mid$(newpath, Len(newpath), 1) <> "" Then
newpath = newpath & ""
End If
Name mchemin & mnom & "." & mextention As newpath & mnom & "." &
mextention End Sub

Public Sub CopieEtRenomme(NewName As String, ext As String)

Dim oldname As String
Dim newcompletename As String

oldname = mchemin & mnom & "." & mextention
newcompletename = mchemin & NewName & "." & ext
FileCopy oldname, newcompletename

End Sub
Public Sub efface()
Dim n As String
n = mchemin & mnom & "." & mextention
Kill (n)
End Sub

"Ciginfo" a écrit dans le message de news:
bm0a9s$35u$
Bonjour
J'ai besoin de Faire une copie de tous les fichiers d'un repertoire
en vue de programmer une sauvegarde. J'utilise le code suivant,
pourquoi ça ne fonctionne pas ???

Dim fs
Dim Source, Destination
Set fs = CreateObject("Scripting.FileSystemObject")
Source = "C:MON_DOSSIER*"
Destination = "C:NEW_DOSSIER"
fs.copyFolder Source, Destination, True

'J'ai sans arret ce message d'erreur
'"Erreur 76, Chemin d'acces introuvable", alors que MON_DOSSIER est
bien un repertoire de C:, qu'il n'a pas de sous repertoire et
qu'il existe 2 fichiers dans MON_DOSSIER ???

Merci de vos réponses

François






Avatar
Christophe
j'ai pas dit c'est la solution toute prète,

j'ai ecrit "que tu pourras adapter à tes besoins"

faut quand même laisser un peu de place au travail des neurones de chacun

Christophe

"Ciginfo" a écrit dans le message de news:
bm1khs$a5r$
Malheureusement je n'arrive pas à faire fonctionner cela pour copier tous
les fichiers d'un coup pouvant être dans un même repertoire. je ne peux
copier qu'un fichier à la fois.

François

"Christophe" a écrit dans le message de news:
bm0e0h$8f6$
> Bonjour,
> Oublies FSO!
>
> Un petit exemple de classe que tu pourras modifier pour tes besoins
>
> Christophe Vergon
>
> Private mchemin As String
> Private mnom As String
> Private mextention As String * 3
>
> Public Property Get chemin() As String
> chemin = mchemin
> End Property
>
> Public Property Let chemin(ByVal vNewValue As String)
> If Mid$(vNewValue, Len(vNewValue), 1) <> "" Then
> vNewValue = vNewValue & ""
> End If
> mchemin = vNewValue
> End Property
> Public Property Get nomfichier() As String
> nomfichier = mnom
> End Property
> Public Property Let nomfichier(ByVal vNewValue As String)
> mnom = vNewValue
> End Property
> Public Property Get extention() As String
> extention = mextention
> End Property
>
> Public Property Let extention(ByVal vNewValue As String)
> mextention = vNewValue
> End Property
>
> Public Function existe() As Boolean
> Dim a$
> a$ = Dir(mchemin & mnom & "." & mextention)
> If a$ = "" Then
> existe = False
> Else
> existe = True
> End If
>
> End Function
>
> Public Sub renomme(NewName As String)
> Name mchemin & mnom & "." & mextention As mchemin & NewName & "." &
> mextention
> End Sub
>
> Public Sub deplace(newpath As String)
> If Mid$(newpath, Len(newpath), 1) <> "" Then
> newpath = newpath & ""
> End If
> Name mchemin & mnom & "." & mextention As newpath & mnom & "." &
mextention
> End Sub
>
> Public Sub CopieEtRenomme(NewName As String, ext As String)
>
> Dim oldname As String
> Dim newcompletename As String
>
> oldname = mchemin & mnom & "." & mextention
> newcompletename = mchemin & NewName & "." & ext
> FileCopy oldname, newcompletename
>
> End Sub
> Public Sub efface()
> Dim n As String
> n = mchemin & mnom & "." & mextention
> Kill (n)
> End Sub
>
> "Ciginfo" a écrit dans le message de news:
> bm0a9s$35u$
> > Bonjour
> > J'ai besoin de Faire une copie de tous les fichiers d'un repertoire en
vue
> > de programmer une sauvegarde. J'utilise le code suivant, pourquoi ça


ne
> > fonctionne pas ???
> >
> > Dim fs
> > Dim Source, Destination
> > Set fs = CreateObject("Scripting.FileSystemObject")
> > Source = "C:MON_DOSSIER*"
> > Destination = "C:NEW_DOSSIER"
> > fs.copyFolder Source, Destination, True
> >
> > 'J'ai sans arret ce message d'erreur
> > '"Erreur 76, Chemin d'acces introuvable", alors que MON_DOSSIER est


bien
> un
> > repertoire de C:, qu'il n'a pas de sous repertoire et qu'il existe 2
> > fichiers dans MON_DOSSIER ???
> >
> > Merci de vos réponses
> >
> > François
> >
> >
>
>




Avatar
Patrice Henrio
J'ai bien l'impression que de toutes façons on ne peut copier qu'un fichier
à la fois pour des raisons techniques. Il faut bien que Disque dur puisse
indiquer quels sont le sclusters libres ou occupés pour copier un nouveau
fichier.

"Christophe" a écrit dans le message de
news:bm1qcr$2il$
j'ai pas dit c'est la solution toute prète,

j'ai ecrit "que tu pourras adapter à tes besoins"

faut quand même laisser un peu de place au travail des neurones de chacun

Christophe

"Ciginfo" a écrit dans le message de news:
bm1khs$a5r$
> Malheureusement je n'arrive pas à faire fonctionner cela pour copier


tous
> les fichiers d'un coup pouvant être dans un même repertoire. je ne peux
> copier qu'un fichier à la fois.
>
> François
>
> "Christophe" a écrit dans le message de news:
> bm0e0h$8f6$
> > Bonjour,
> > Oublies FSO!
> >
> > Un petit exemple de classe que tu pourras modifier pour tes besoins
> >
> > Christophe Vergon
> >
> > Private mchemin As String
> > Private mnom As String
> > Private mextention As String * 3
> >
> > Public Property Get chemin() As String
> > chemin = mchemin
> > End Property
> >
> > Public Property Let chemin(ByVal vNewValue As String)
> > If Mid$(vNewValue, Len(vNewValue), 1) <> "" Then
> > vNewValue = vNewValue & ""
> > End If
> > mchemin = vNewValue
> > End Property
> > Public Property Get nomfichier() As String
> > nomfichier = mnom
> > End Property
> > Public Property Let nomfichier(ByVal vNewValue As String)
> > mnom = vNewValue
> > End Property
> > Public Property Get extention() As String
> > extention = mextention
> > End Property
> >
> > Public Property Let extention(ByVal vNewValue As String)
> > mextention = vNewValue
> > End Property
> >
> > Public Function existe() As Boolean
> > Dim a$
> > a$ = Dir(mchemin & mnom & "." & mextention)
> > If a$ = "" Then
> > existe = False
> > Else
> > existe = True
> > End If
> >
> > End Function
> >
> > Public Sub renomme(NewName As String)
> > Name mchemin & mnom & "." & mextention As mchemin & NewName & "." &
> > mextention
> > End Sub
> >
> > Public Sub deplace(newpath As String)
> > If Mid$(newpath, Len(newpath), 1) <> "" Then
> > newpath = newpath & ""
> > End If
> > Name mchemin & mnom & "." & mextention As newpath & mnom & "." &
> mextention
> > End Sub
> >
> > Public Sub CopieEtRenomme(NewName As String, ext As String)
> >
> > Dim oldname As String
> > Dim newcompletename As String
> >
> > oldname = mchemin & mnom & "." & mextention
> > newcompletename = mchemin & NewName & "." & ext
> > FileCopy oldname, newcompletename
> >
> > End Sub
> > Public Sub efface()
> > Dim n As String
> > n = mchemin & mnom & "." & mextention
> > Kill (n)
> > End Sub
> >
> > "Ciginfo" a écrit dans le message de news:
> > bm0a9s$35u$
> > > Bonjour
> > > J'ai besoin de Faire une copie de tous les fichiers d'un repertoire


en
> vue
> > > de programmer une sauvegarde. J'utilise le code suivant, pourquoi ça
ne
> > > fonctionne pas ???
> > >
> > > Dim fs
> > > Dim Source, Destination
> > > Set fs = CreateObject("Scripting.FileSystemObject")
> > > Source = "C:MON_DOSSIER*"
> > > Destination = "C:NEW_DOSSIER"
> > > fs.copyFolder Source, Destination, True
> > >
> > > 'J'ai sans arret ce message d'erreur
> > > '"Erreur 76, Chemin d'acces introuvable", alors que MON_DOSSIER est
bien
> > un
> > > repertoire de C:, qu'il n'a pas de sous repertoire et qu'il existe


2
> > > fichiers dans MON_DOSSIER ???
> > >
> > > Merci de vos réponses
> > >
> > > François
> > >
> > >
> >
> >
>
>