Bonjour à tous,

J'ai codé un petit script qui me permet de trier et de lister, dans un fichier texte, par extension et par poids les fichiers contenus dans des dossiers et sous dossiers (un peu comme la commande "tree" mais à ma sauce).

Ce dernier fonctionne très bien mise à part dans certain cas ou j'obtiens l'erreur "Permission Refusée" Code "800A0046" à un moment donné pendant l’exécution du script.

Je pense qu'il fait ça quand il à affaire à un fichier "protégé"; est il possible:

Soit d'ignorer le ou les fichiers qui posent problème et continuer l'écriture du fichier jusqu'à la fin de l'arborescence;
Soit d'obtenir la permission en question;

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Set oShell = CreateObject("WScript.Shell")
strHomeFolder = oShell.ExpandEnvironmentStrings("%USERPROFILE%")
 
Set fso = CreateObject("Scripting.FileSystemObject")
Set fileWriter = fso.createTextFile(strHomeFolder &"\Desktop\liste.txt")
 
Sub ListDirectory(objFolder)
 
For Each objFile In  objFolder.Files
if j<2 and objFile.size<50000000 then
if LCase(objfso.GetExtensionName(objFile.Name)) = "jpg" Then
fileWriter.WriteLine objFile.path
j=j+1
end if
end if
Next
 
For Each objSubFolder In objFolder.SubFolders
ListDirectory(objSubFolder)
Next
 
End Sub
 
chemins = split("\Documents\",",")
 
For i = 0 to ubound(chemins)
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objMyFolder = objFso.GetFolder (strHomeFolder&chemins(i))
ListDirectory objMyFolder
next
fileWriter.close
Merci à vous