cs_Deb24
Messages postés14Date d'inscriptionsamedi 13 septembre 2003StatutMembreDernière intervention22 septembre 2004
-
9 sept. 2004 à 10:56
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 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
cs_Deb24
Messages postés14Date d'inscriptionsamedi 13 septembre 2003StatutMembreDernière intervention22 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...
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 juin 20099 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@
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 juin 20099 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 ??
cs_Deb24
Messages postés14Date d'inscriptionsamedi 13 septembre 2003StatutMembreDernière intervention22 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
cs_Deb24
Messages postés14Date d'inscriptionsamedi 13 septembre 2003StatutMembreDernière intervention22 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?
cs_Deb24
Messages postés14Date d'inscriptionsamedi 13 septembre 2003StatutMembreDernière intervention22 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...
cs_Deb24
Messages postés14Date d'inscriptionsamedi 13 septembre 2003StatutMembreDernière intervention22 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?