IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Lister des fichiers aux noms trop longs


Sujet :

Scripts/Batch

  1. #1
    Membre habitué
    Femme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Avril 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Cyberdocumentaliste

    Informations forums :
    Inscription : Avril 2012
    Messages : 113
    Points : 152
    Points
    152
    Par défaut Lister des fichiers aux noms trop longs
    Bonjour à tous,

    (Je m’excuse si je ne poste pas au bon endroit, j’hésitais entre ici et le forum Windows 7 )

    Je cherche à copier un très gros dossier contenant plusieurs centaines de documents répartis dans de nombreux dossiers et sous dossiers. Le problème, c’est que je me retrouve avec environ 70 fois un message d’erreur durant la copie me signalant que certains fichiers n’ont pas pu être copiés du fait d’un nom de fichier trop long. Et comme la petite fenêtre d’erreur pour chacun de ces 70 fichiers ne me donne qu’une partie du nom du document, sans pouvoir copier/coller ce dernier, et aucune autre indication, je suis quelque peu embêtée pour retrouver les fichiers en question dans l’arborescence et les renommer, afin de pouvoir enfin les copier.

    Je cherche donc un moyen pour lister tous ces fichiers, connaître leur nom complet, et savoir où ils se trouvent dans mon gros dossier de base. Si quelqu’un a une idée, elle est la bienvenue

    Merci d’avance pour votre aide !

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    une solution en Vbscript : Tree.vbs
    Code vb : 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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    Dim Path : Path = Browse4Folder()
    Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")    
    Dim  Files : Set Files = CreateObject("System.Collections.ArrayList")    
    Dim OrigTabCount : OrigTabCount = UBound(Split(Path, "\"))    
    Dim ws : Set ws = CreateObject("wscript.shell")
    RecurseFolderFiles objFSO.GetFolder(Path)  
    ws.run "Tree.txt"
    '*********************************************************************
    Private Sub RecurseFolderFiles(objFolder)    
        Dim File, SubFolder    
        Dim TabCount : TabCount = UBound(Split(objFolder, "\")) - OrigTabCount    
        Dim Tabs    
     
        If TabCount > 0 Then    
            For i = 0 To TabCount    
                Tabs = Tabs & vbTab    
            Next    
        End If    
     
        WriteFile Tabs & "Dossier : " & objFolder.Name, "Tree.txt"    
     
        For Each File In objFolder.Files    
            WriteFile Tabs & vbTab & "Fichier : " & File.Name, "Tree.txt"    
        Next    
     
        For Each SubFolder In objFolder.SubFolders    
            RecurseFolderFiles SubFolder    
        Next    
    End Sub    
    '*********************************************************************
    Sub WriteFile(strLine,fileName)     
        On Error Resume Next     
        Dim objFSO, objFile     
        Set objFSO = CreateObject("Scripting.FileSystemObject")     
        Do Until IsObject(objFile)     
            Set objFile = objFSO.OpenTextFile(fileName,8,True)     
        Loop     
        objFile.WriteLine strLine     
        objFile.Close     
    End Sub
    '*********************************************************************
    Function Browse4Folder()
        Dim objShell,objFolder,Message
        Message = "Please select a folder "
        Set objShell = CreateObject("Shell.Application")
        Set objFolder = objShell.BrowseForFolder(0,Message,0,0)
        If objFolder Is Nothing Then
            Wscript.Quit
        End If
        Browse4Folder = objFolder.self.path
    End Function
    '*********************************************************************

  3. #3
    Membre habitué
    Femme Profil pro
    Cyberdocumentaliste
    Inscrit en
    Avril 2012
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Cyberdocumentaliste

    Informations forums :
    Inscription : Avril 2012
    Messages : 113
    Points : 152
    Points
    152
    Par défaut
    Merci pour ta réponse Par contre il y a un petit détail qui pose problème : ce sont tous les fichiers du dossier qui sont listés. Comment puis-je restreindre cette liste, par exemple en ne demandant à voir que les fichiers ayant un nom contenant plus de X caractères ? Merci d'avance

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/06/2015, 00h44
  2. Nom du fichier ou extension trop long
    Par yabo84 dans le forum Windows 7
    Réponses: 7
    Dernier message: 23/09/2013, 22h53
  3. [PPT-2010] Liens relatifs vers des fichiers aux noms relatifs
    Par minimir dans le forum Powerpoint
    Réponses: 0
    Dernier message: 06/09/2012, 16h53
  4. Supprimer des fichiers de nom trop long ?
    Par lucarno dans le forum Windows XP
    Réponses: 2
    Dernier message: 16/08/2010, 19h03
  5. Réponses: 8
    Dernier message: 31/05/2009, 08h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo