Lister les chemins de fichiers/dossiers supérieurs à 255 caractè re
Le
Lyes

Bonjour,
je cherche un moyen (à priori par script) d'énumérer les chemins d'accès à
des fichiers ou dossiers dont la taille est supérieure à 255 caractères en
partant d'un dossier racine local ou réseau.
Mon problème est que je ne sais hélas toujours pas scripter.
Quelqu'un aurait-il une solution ou un script qui fait cela.
Merci
Lyes
je cherche un moyen (à priori par script) d'énumérer les chemins d'accès à
des fichiers ou dossiers dont la taille est supérieure à 255 caractères en
partant d'un dossier racine local ou réseau.
Mon problème est que je ne sais hélas toujours pas scripter.
Quelqu'un aurait-il une solution ou un script qui fait cela.
Merci
Lyes
Si la solution LogParser est envisageable:
logparser -i:fs -o:csv -stats:off -recurse:-1 "SELECT Name, Path,
STRLEN(Path) AS [NbrCaracteres] FROM C:Temp*.* WHERE STRLEN(Path) > 255"
--
Marc Lognoul [MCSE, MCTS, MVP]
Heureux celui qui a pu pénétrer les causes secrètes des choses
Happy is the one who could enter the secret causes of things
Blog EN: http://www.marc-antho-etc.net/blog/
Blog FR: http://www.marc-antho-etc.net/blogfr/
"Lyes" news:
voici une proposition :
Le ou les répertoires à scruter sont à transmettre en arguments :
Par exemple par "glisser-déposer" Sur le script.
la liste des fichiers et écrite dans un fichier "liste.txt" situé à
côté du script.
J'ai testé avec 100 et 200 comme taille limite ...
' ============================== TAYE0
Set ObjArgs = WScript.Arguments
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
Nb = ObjArgs.Count - 1
Chemin = WScript.ScriptFullName
CheminFichier = Left(Chemin, InStrRev(Chemin, "")) & "liste.txt"
Set FichierListe = FSO.OpenTextFile(CheminFichier, 2, True)
For I = 0 to Nb
Cc = ObjArgs(I)
msgbox Cc
If not FSO.FolderExists(Cc) then
FichierListe.WriteLine Cc & " n'existe pas ...? "
else
Set fdo = FSO.GetFolder(Cc)
Call Traite(fdo)
end if
Next
FichierListe.Close
WScript.quit
' ================ Sub Traite(fd)
For Each sf in fd.Files
if len(sf.path)>TAYE then
FichierListe.WriteLine sf.path
End If
Next
For Each sfg in fd.SubFolders
Call Traite(sfg)
Next
End Sub
' =================
La solution log parser est bien envisageable.
Je vais l'essayer dès maintenant.
Merci beaucoup pour votre aide.
Lyes
"Marc Lognoul [MVP]" wrote:
Je vais essayer aussi votre script et je comparerai le résultat avec la
solution proposé par Marc.
Merci beaucoup pour votre aide.
Lyes
"Lotre" wrote:
Je viens d'essayer le script logparser et il me retourne l'erreur suivante.
Mais je comprends pas de quoi il s'agit.
Error: Syntax Error: <field-expr>: cannot find a valid <field-expr>: ''
Accès refusé.
Savez vous ce qui ne marche pas.
NB: c'est sur un poste VISTA
Merci
Lyes
"Marc Lognoul [MVP]" wrote:
L'invite de command tourne-t-il en avec des privilèges élevé ou avec UAC
désactivé?
Je viens de tester sur une machine Vista et une 7, pas de problème.
--
Marc Lognoul [MCSE, MCTS, MVP]
Heureux celui qui a pu pénétrer les causes secrètes des choses
Happy is the one who could enter the secret causes of things
Blog EN: http://www.marc-antho-etc.net/blog/
Blog FR: http://www.marc-antho-etc.net/blogfr/
"Lyes" news:
En effet le script est le cmd.exe est lancé par un runas avec un compte
administrateur.
Merci
Lyes
"Marc Lognoul [MVP]" wrote: