Liste des dossiers dans c:\users [Résolu]

Messages postés
172
Date d'inscription
mardi 1 avril 2008
Dernière intervention
30 octobre 2018
- - Dernière réponse : steph78630
Messages postés
3
Date d'inscription
jeudi 5 avril 2018
Dernière intervention
7 avril 2018
- 7 avril 2018 à 08:10
Bonjour, je cherche un script pour lister et supprimer les dossiers ( nom du profile ) dans c:\Users\
merci!
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
40
Date d'inscription
jeudi 10 juillet 2003
Dernière intervention
17 janvier 2017
1
Merci
Voici un vbscript général (ListSubFolders.vbs) pour parcourir un dossier afin de lister tous ses sous-dossiers dans un fichier texte, donc inspirez-vous de ce dernier, et complétez-le afin d'atteindre votre objectif.
Bonne Chance à vous !

Option Explicit
Dim fso,ws,RootFolder,LogFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set ws = CreateObject("WScript.Shell")
LogFile = Left(Wscript.ScriptFullName, InstrRev(Wscript.ScriptFullName, ".")) & "txt"
If fso.FileExists(LogFile) Then
fso.DeleteFile(LogFile)
End If
Set RootFolder = fso.GetFolder(Browse4Folder())
Call ListSubFolders(RootFolder)
ws.run DblQuote(LogFile)
'**********************************************************************************************
Sub ListSubFolders(Folder)
Dim Subfolder
Set Folder = fso.GetFolder(Folder)
For Each Subfolder in Folder.SubFolders
Call WriteLog(Subfolder.Path)
Call ListSubFolders(Subfolder.Path) 'Call Recursive Sub
Next
End Sub
'**********************************************************************************************
Sub WriteLog(strText)
Dim fs,ts,LogFile
Const ForAppending = 8
LogFile = Left(Wscript.ScriptFullName, InstrRev(Wscript.ScriptFullName, ".")) & "txt"
Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(LogFile,ForAppending,True)
ts.WriteLine strText
ts.Close
End Sub
'**********************************************************************************************
Function Browse4Folder()
Dim objShell,objFolder,Message
Message = "Please select a folder in order to scan into it and its subfolders"
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0,Message,1,"c:\Programs")
If objFolder Is Nothing Then
Wscript.Quit
End If
Browse4Folder = objFolder.self.path
end Function
'**********************************************************************************************
Function DblQuote(Str)
DblQuote = Chr(34) & Str & Chr(34)
End Function
'**********************************************************************************************

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS-SourceS

Codes Sources a aidé 98 internautes ce mois-ci

steph78630
Messages postés
3
Date d'inscription
jeudi 5 avril 2018
Dernière intervention
7 avril 2018
-
Bonjour,

je suis toujours admiratif des scripts que propose Hackoo et celui-ci en fait partie, malheureusement l'utilisation sur le dossier C:\Users me retourne une erreur "Permission refusée"... Y aurait-il un moyen pour exécuter ce script sans passer par le bypass manuel de l'UAC ?

> Ce script me serait bien utile mais en automatisant son exécution sur le dossier C:\Users

Merci d'avance,
Stéphane
NHenry
Messages postés
14323
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
-
Il te faut gérer les erreurs avec un On Error.
steph78630
Messages postés
3
Date d'inscription
jeudi 5 avril 2018
Dernière intervention
7 avril 2018
> NHenry
Messages postés
14323
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
-
Bonjour @NHenry

merci pour la réponse rapide.

Si tu penses à "On Error resume next", il me semble que cela permet uniquement d'ignorer l'erreur en cours sans planter le script, mais du même coup cela exclut l'item concerné (dans mon cas C:\Users), je me trompe ?

Note : Cette erreur apparaît sur certaines de mes machines, indépendamment de l'OS (W7, W10) et du réglage de l'UAC
NHenry
Messages postés
14323
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
-
Oui, sans passer en admin, de toute façon, tu ne pourras pas lister le dossier/fichier en question, donc si tu ignores l'erreur, tu auras le moins faux possible.
steph78630
Messages postés
3
Date d'inscription
jeudi 5 avril 2018
Dernière intervention
7 avril 2018
-
Ok @NHenry,

merci pour ces précisions.

J'ai oublié de dire que j'ai remplacé la ligne 9 :

Set RootFolder = fso.GetFolder(Browse4Folder())
par
RootFolder = "C:\Users"

afin d'éviter de parcourir à chaque exécution sur C:\Users (l'exécution de mon script doit se faire de façon automatique et spécifiquement sur ce dossier), mais du même coup j'ai ce problème de permission refusée
Commenter la réponse de Hackoo
Messages postés
14323
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
0
Merci
Bonjour,

Merci de garder à l'esprit que CodeS-SourceS est une communauté d'entraide. Toutes les réponses sur le forum sont assurées par des bénévoles qui donnent de leur temps libre pour aider à résoudre les problèmes.

A noter qu'il est expressément demandé aux utilisateurs des forums de faire preuve de respect mutuel dans les discussions. Par conséquent, lors de la demande d'assistance, merci d'être courtois et d'utiliser des formules de politesse, "comme dans la vraie vie" dans des circonstances similaires (dire "bonjour", "s'il vous plaît", "merci", etc...)

A noter également que nous ne faisons pas dans le "tout cuit". Soit tu trouves ton bonheur dans la partie source du site, soit à l'aide de ton moteur de recherche favori. Ici, nous aidons volontiers sur des sujets techniques précis.

http://codes-sources.commentcamarche.net/forum/affich-1557761-bar-sujet-de-pfe-tp-et-autres-devoirs-scolaires#top

http://codes-sources.commentcamarche.net/contents/11-charte-de-commentcamarche-net-conseils-d-ecriture

Merci donc de reformuler ta demande en respectant ces quelques points.
Commenter la réponse de NHenry

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.