Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

7 réponses
Avatar
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

7 réponses

Avatar
Marc Lognoul [MVP]
Bonjour,

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" wrote in message
news:
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



Avatar
Lotre
Lyes wrote:
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.



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
' =================
Avatar
Lyes
Bonjour Marc

La solution log parser est bien envisageable.
Je vais l'essayer dès maintenant.

Merci beaucoup pour votre aide.

Lyes



"Marc Lognoul [MVP]" wrote:

Bonjour,

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" wrote in message
news:
> 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
>



Avatar
Lyes
Bonjour Lotre,

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:



Lyes wrote:
> 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.
>
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
' ================ >




Avatar
Lyes
Re-bonjour Marc

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:

Bonjour,

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" wrote in message
news:
> 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
>



Avatar
Marc Lognoul [MVP]
Bonjour,

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" wrote in message
news:
Re-bonjour Marc

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:

Bonjour,

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" wrote in message
news:
> 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
>





Avatar
Lyes
Bonjour Marc,

En effet le script est le cmd.exe est lancé par un runas avec un compte
administrateur.

Merci

Lyes

"Marc Lognoul [MVP]" wrote:

Bonjour,

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" wrote in message
news:
> Re-bonjour Marc
>
> 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:
>
>> Bonjour,
>>
>> 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" wrote in message
>> news:
>> > 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
>> >
>>