URGENT!!! Copie du contenu d'un dossier vers un autre

Résolu
cs_Deb24 Messages postés 14 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 22 septembre 2004 - 9 sept. 2004 à 10:56
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 - 22 sept. 2004 à 11:19
Bonjour,

Voilà ma mission :
Créer un script vbs pour copier les favoris des utilisateurs. Le dossier de destination créé devra porter le nom de l'utilisateur en cours et l'ensemble des favoris (fichiers et sous dossiers+fichiers) devra y être copier...

J'arrive à connaître l'emplacement des favoris et à récupérer le nom de l'utilisateur. J'arrive aussi à créer le dossier destination (seulement si il n'existe pas... si il existe ca plante, il veut pas le supprimer). Et surtout je n'arrive pas à faire la copie.. pourquoi?? Le problème vient peut être de la syntaxe des chemins de copie (car il s'agit de variables) j'ai essayer tout plein de méthodes trouvés sur les forums de codes-sources mais rien à faire je bloque...
Voici le script que j'ai écrit (déjà à l'aide de codes sources!!! merci :-) ) :

Dim BDR, Favoris, NomUser, CheminDest

Set BDR = CreateObject("WScript.Shell")
Favoris = BDR.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Favorites") ok
NomUser = BDR.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Logon User Name") ok

Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists("C:\temp\Test" & NomUser & "") Then
CheminDest = fso.CreateFolder ("C:\temp\Test" & NomUser & "") ok
Else
Supr = fso.DeleteFolder ("C:\temp\Test" & NomUser & "") pas ok
CheminDest = fso.CreateFolder ("C:\temp\Test" & NomUser & "") pas ok
end if
fso.copyfolder (& Favoris &, & CheminDest &)pas ok

Merci à vous de m'aiguiller... je sèche vraiment

Deb24

21 réponses

cs_Deb24 Messages postés 14 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 22 septembre 2004
22 sept. 2004 à 09:26
Après plusieurs essais... voilà la ligne qui fonctionne pour la suppression du dossier :
fso.DeleteFolder ("F:\Profil" & NomUser & "\*"),True

bon voilà maintenant l'appli focntionne OUFFFFF j'ai cru que j'allais jamais m'en sortir!!!

Merci de ton aide It@li@...

A bientôt
Deb24

PS : j'ai pas compris ta derniere question "t'as koi de coché dans Projet...références ???" mais bon ca fonctionne now!!!!
3
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
9 sept. 2004 à 11:08
fso.DeleteFolder ("C:\temp\Test" & NomUser & "")
Set CheminDest = fso.CreateFolder ("C:\temp\Test" & NomUser & "")
end if
fso.copyfolder CopyFolder Favoris,CHeminDest

Régle 4 de la Charte du FORUM :
4) Eviter les titres ayant le mot URGENT ! ou alors à la fin du titre et entre parenthèses

It@li@
0
cs_Deb24 Messages postés 14 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 22 septembre 2004
9 sept. 2004 à 11:34
POUR L'ENSEMBLE DU FORUM :
EXCUSEZ moi d'avoir mis URGENT dans le titre, c'était seulement un excés de détresse!

La copie fonctionne nikel et ça c'est déjà super mais par contre dans le cas où le dossier existe déjà ça blante, la syntaxe n'est peut être pas bonne non plus? Faut-il ajouter un contrôle ou quelque chose de ce style?

Enfin merci déjà pour l'aide... si vous avez une idée pour le reste.. je suis preneuse...

MERCI!!!!

Deb24
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
9 sept. 2004 à 12:13
Coches reponses acceptés....

Oui effectivement ta syntaxe est mauvaise :

La ligne : fso.DeleteFolder ("C:\temp\Test" & NomUser & "")
est à supprimer aprés le Else....car tu essayes de supprimer un dossier qui n'existe pas !!!

It@li@
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Deb24 Messages postés 14 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 22 septembre 2004
9 sept. 2004 à 12:21
j'ai testé le cas où le fichier existe et où je dois le supprimer pour le re créé et c là où ca blante...
alors pourquoi il veut pas le suppimer???

Deb24 (alergique au code...sniffff)
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
9 sept. 2004 à 13:32
Effectivement je te disais n'importe koi !

voila le code que tu dois avoir :

Dim BDR, Favoris, NomUser, CheminDest

Set BDR = CreateObject("WScript.Shell")
Favoris = BDR.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Favorites") ok
NomUser = BDR.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Logon User Name") ok

Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists("C:\temp\Test" & NomUser & "") Then
Set CheminDest = fso.CreateFolder ("C:\temp\Test" & NomUser & "")
Else
fso.DeleteFolder ("C:\temp\Test" & NomUser & "")
Set CheminDest = fso.CreateFolder ("C:\temp\Test" & NomUser & "")
end if
fso.copyfolder CopyFolder Favoris,CheminDest

dis moi ou ca plante et le message d'erreur..
ton dossier est en Lecture seul ??

It@li@
0
cs_Deb24 Messages postés 14 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 22 septembre 2004
9 sept. 2004 à 14:05
Le message d'erreur est le suivant concernant cette ligne de code :
fso.DeleteFolder ("C:\temp\Test" & NomUser & "")

-->Chemin d'accés introuvable
Code 800A004C

Le dossier "& NomUser &" créé est effectivement en lecture seule...

Deb24
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
9 sept. 2004 à 14:17
Essayes alors :

fso.DeleteFolder ("C:\temp\Test" & NomUser & ""),True

It@li@
0
cs_Deb24 Messages postés 14 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 22 septembre 2004
9 sept. 2004 à 14:40
cela ne fonctionne pas...
Si j'enlève la lecture seule du dossier "temp", cela ne fonctionne pas non plus...
Je retombe dans tous les cas sur la même erreur à la ligne fso.DeleteFolder ("C:\temp\Test" & NomUser & ""),True

Deb24
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
9 sept. 2004 à 15:10
et si le repertoire est vide ??

It@li@
0
cs_Deb24 Messages postés 14 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 22 septembre 2004
9 sept. 2004 à 15:17
Le dossier "& NomUser &" créé n'est pas vide...

mais si ce dossier est vide alors on a plus qu'à copier les favoris direct dedans...
Tu penses que je devrais passé ainsi : supprimer le contenu du dossier et non le dossier complet? mais ça serait la même méthode avec un fso.DeleteFolder non?

Deb24
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
9 sept. 2004 à 15:39
et avec :

fso.DeleteFolder ("C:\temp\Test" & NomUser & "\*.*")

It@li@
0
cs_Deb24 Messages postés 14 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 22 septembre 2004
9 sept. 2004 à 15:45
Il ne me met pas d'erreur et pourtant il supprime rien du tout...
J'ai essayeé en mettant
fso.DeleteFolder ("C:\temp\Test" & NomUser & "\*")
mais cela n'a aucun effet...

je ne vois pas comment forcé la suppression...

Deb24
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
9 sept. 2004 à 16:00
Sinon changes de Methode :

Kill "C:\temp\Test" & NomUser & "\*.*" ' Suppression des Fichiers
RmDir ""C:\temp\Test" & NomUser ' Suppression du Dossier

It@li@
0
cs_Deb24 Messages postés 14 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 22 septembre 2004
9 sept. 2004 à 16:14
je ne dois pas avoir de chance...
avec Rmdir j'ai l'erreur : "Type incompatible RmDir"

je ne sais pas si tu as encore des idées.. mais merci de ton aide jusque là...

Deb24
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
9 sept. 2004 à 16:25
t'as koi de coché dans Projet...références ???

It@li@
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
22 sept. 2004 à 09:31
Ciao Bella

It@li@
0
cs_Deb24 Messages postés 14 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 22 septembre 2004
22 sept. 2004 à 10:05
en fait une dernière petite question (ou dois-je ouvrir une autre question sur le forum)
--> Je voudrai insérer une barre de progression est-ce possible?

Merci

Deb24
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
22 sept. 2004 à 10:16
en VB ou VBA ???

It@li@
0
cs_Deb24 Messages postés 14 Date d'inscription samedi 13 septembre 2003 Statut Membre Dernière intervention 22 septembre 2004
22 sept. 2004 à 10:38
vbs...

Deb24
0
Rejoignez-nous