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

analog101 170 Messages postés mardi 1 avril 2008Date d'inscription 16 octobre 2017 Dernière intervention - 30 mars 2015 à 20:54 - Dernière réponse : steph78630 3 Messages postés jeudi 5 avril 2018Date d'inscription 7 avril 2018 Dernière intervention
- 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

8 réponses

Meilleure réponse
Hackoo 40 Messages postés jeudi 10 juillet 2003Date d'inscription 17 janvier 2017 Dernière intervention - 9 avril 2015 à 11:03
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
'**********************************************************************************************

Merci Hackoo 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

steph78630 3 Messages postés jeudi 5 avril 2018Date d'inscription 7 avril 2018 Dernière intervention - 5 avril 2018 à 23:24
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 14260 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 16 septembre 2018 Dernière intervention - 6 avril 2018 à 18:13
Il te faut gérer les erreurs avec un On Error.
steph78630 3 Messages postés jeudi 5 avril 2018Date d'inscription 7 avril 2018 Dernière intervention > NHenry 14260 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 16 septembre 2018 Dernière intervention - 6 avril 2018 à 19:51
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 14260 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 16 septembre 2018 Dernière intervention - 6 avril 2018 à 21:54
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 3 Messages postés jeudi 5 avril 2018Date d'inscription 7 avril 2018 Dernière intervention - 7 avril 2018 à 08:10
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
NHenry 14260 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 16 septembre 2018 Dernière intervention - 30 mars 2015 à 21:03
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.