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
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...
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 ?
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 ??
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
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?
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...
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?