Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Affichage des résultats 1 à 13 sur 13
  1. #1
    Salut,

    La question est facile : j'ai un collègue qui a un mac et qui a gravé pleins de musiques depuis itunes MEGA . Un fois passé la moquerie et bien mis en évidence que c'était une mauvaise idée, il faudrait que je l'aide : il vaut "juste" copier les .mp3 sans leur arborescence, dans un répertoire en joyeux bordel (mais ça, c'est plus tard que je me moquerai parce que c'est inutilisable comme classement).

    Rechercher *.mp3 copier/coller ne fonctionne pas : ce batard d'XP64 recrée l'arborescence.

    Donc la solution, pour les advanced skilled in xp-shell () comment je fais un rechercher tous les .mp3 d'un disque et copier vers un répertoire, mais sans l'arborescence ?
    Mes propos n'engagent personne, même pas moi.

  2. #2
    Citation Envoyé par Neo_13 Voir le message
    Salut,

    La question est facile : j'ai un collègue qui a un mac et qui a gravé pleins de musiques depuis itunes MEGA . Un fois passé la moquerie et bien mis en évidence que c'était une mauvaise idée, il faudrait que je l'aide : il vaut "juste" copier les .mp3 sans leur arborescence, dans un répertoire en joyeux bordel (mais ça, c'est plus tard que je me moquerai parce que c'est inutilisable comme classement).

    Rechercher *.mp3 copier/coller ne fonctionne pas : ce batard d'XP64 recrée l'arborescence.

    Donc la solution, pour les advanced skilled in xp-shell () comment je fais un rechercher tous les .mp3 d'un disque et copier vers un répertoire, mais sans l'arborescence ?
    Voila un script a mettre dans un batch que j'ai trouvé sur le net en cherchant une soluce a ton problème


    Par contre, gros problème ... C'est SUPER LONG, il va parcourir chacun des sous dossier des sous dossiers des sous dossier, c'est un truc a faire péter un plomb au PC, pas pigé pourquoi ton XP te copie les répertoires quand tu fais rechercher, et que tu copies colles le résultat .


    Bon courage


    @Echo off
    Setlocal
    Set extension=mp3
    : deplacement vers Dossier cible
    Pushd "c:\"
    : filtrer les types de fichiers dans les Sous-dossiers
    For /f "tokens=*" %%a In ('dir /s /b /a-d "*.*"') Do (
    If %%~xa==.%extension% Xcopy /y "%%a" C:\test2\
    )

  3. #3
    Alors, en solution artisanale rapide, tu peux faire un petit "dir /B /S X:\...\*.mp3 > C:\liste_mp3.txt" pour lister tous les MP3 situés sous le répertoire indiqué.

    Tu ouvres le fichier C:\liste_mp3.txt ainsi généré dans XL (et là tu entres en terrain connu ), et tu écris une formule qui à partir du nom d'un fichier te génére une commande "cp X:\...\*.mp3 C:\monRep"
    Tu colles le tout dans un *.bat et tu l'exécutes.

    Tu peux aussi écrire un petit vbs, avec FileSystemObject, tu devrais t'en sortir, mais ca sera plus long à écrire. Avec Powershell aussi, je suppose qu'on peut faire ça en une seule ligne (mais plus compliqué).

  4. #4
    Citation Envoyé par Madax Voir le message
    Par contre, gros problème ... C'est SUPER LONG, il va parcourir chacun des sous dossier des sous dossiers des sous dossier
    Ben, c'est le principe de la recherche recursive (option /S de dir), mais tu peux le limiter à un répertoire racine donné pour éviter qu'il ne fasse tout le contenu de toutes tes partitions. Tu peux également indiquer l'extension recherchée directement dans la commande dir plutot que de faire un test sur l'extension. Du coup :

    For /f "tokens=*" %%a In ('dir /s /b /a-d "X:\...\*.mp3"') Do (
    Xcopy /y "%%a" C:\test2\
    )
    Dernière modification par Yasko ; 24/06/2009 à 11h38.

  5. #5
    Citation Envoyé par Yasko Voir le message
    Ben, c'est le principe de la recherche recursive (option /S de dir), mais tu peux le limiter à un répertoire racine donné pour éviter qu'il ne fasse tout le contenu de toutes tes partitions. Tu peux également indiquer l'extension recherchée directement dans la commande dir plutot que de faire un test sur l'extension. Du coup :

    @Echo off
    Setlocal
    : deplacement vers Dossier cible
    Pushd "c:\"

    For /f "tokens=*" %%a In ('dir /s /b /a-d "X:\...\*.mp3"') Do (
    Xcopy /y "%%a" C:\test2\
    )

    (pas testé)

    Ah bah ouais, pas con

    J'avais fais un script en vbs récursif justement pour ca j'arrive plus a foutre la main dessus (ca date) ... Je cherche ca

  6. #6
    Merci...

    Par contre le récursif vbs m'intéresse toujours... Je vais peut être changer le topic en "topic des scripts xp-shell"
    Mes propos n'engagent personne, même pas moi.

  7. #7
    Bon bah impossible de mettre la main dessus, je vais voir si je peux pas rescripter ca rapidos, de toute facon j'en ai toujours besoin de ce genre de scripts

    Je reviens

  8. #8
    Bon ca donnerait qqchose de ce genre :


    Code:
    Set FSO=CreateObject("Scripting.FileSystemObject")
    StrDestination = "c:\test2"
    ParcoursRep("C:\test\")
    
    
    
    Function ParcoursRep(rep)
    
    Set objFolder = FSO.GetFolder(rep)
    	If objFolder.SubFolders.Count <> 0 Then
    		For Each Folder In objFolder.SubFolders
    		ParcoursRep(Folder)
    		Next
    	Else
    	Set objFiles = objFolder.Files
    		For Each objFile in objFiles
    			If FSO.GetExtensionName(objFile) = "mp3" Then
    				FSO.CopyFile objFile.path,strDestination & "\" & objFile.name
    			End If
    		Next
    	End If
    
    
    End Function
    Problème c'est que sous Seven je me paye plein d'accés refusé .... (et pourtant je l'execute en admin)
    EDIT : je viens de le corriger, en fait j'avais fait une petite erreur sur la copie. A priori maintenant ca marche

    Suffit donc de copier coller ce machin dans un fichier texte, le renommer en .vbs a la place de .txt et double cliquer sur le bouzin et voila (en plus ca m'a l'air bcp plus rapide que ma méthode du dessus ....)
    Dernière modification par Yasko ; 24/06/2009 à 13h46. Motif: balise [code]

  9. #9
    Chuis ptet pas assez réveillé mais... Ça ne va copier que les fichiers tout en bas de l'arborescence non?

    Si dans un répertoire j'ai des sous répertoires et des mp3, ceux ci ne seront pas copiés ou je craque?

    J'aurais tendance à faire comme ça (virer le else en fait)


    Code:
    Set FSO=CreateObject("Scripting.FileSystemObject")
    StrDestination = "c:\test2"
    ParcoursRep("C:\test\")
    
    Function ParcoursRep(rep)
           Set objFolder = FSO.GetFolder(rep)
        If objFolder.SubFolders.Count <> 0 Then
            For Each Folder In objFolder.SubFolders
            ParcoursRep(Folder)
            Next
        End If
        Set objFiles = objFolder.Files
        For Each objFile in objFiles
            If FSO.GetExtensionName(objFile) = "mp3" Then
                FSO.CopyFile objFile.path,strDestination & "\" & objFile.name
            End If
        Next
    End Function

  10. #10
    Citation Envoyé par Nihihi Voir le message
    Chuis ptet pas assez réveillé mais... Ça ne va copier que les fichiers tout en bas de l'arborescence non?

    Si dans un répertoire j'ai des sous répertoires et des mp3, ceux ci ne seront pas copiés ou je craque?

    J'aurais tendance à faire comme ça (virer le else en fait)


    Code:
    Set FSO=CreateObject("Scripting.FileSystemObject")
    StrDestination = "c:\test2"
    ParcoursRep("C:\test\")
     
    Function ParcoursRep(rep)
           Set objFolder = FSO.GetFolder(rep)
        If objFolder.SubFolders.Count <> 0 Then
            For Each Folder In objFolder.SubFolders
            ParcoursRep(Folder)
            Next
        End If
        Set objFiles = objFolder.Files
        For Each objFile in objFiles
            If FSO.GetExtensionName(objFile) = "mp3" Then
                FSO.CopyFile objFile.path,strDestination & "\" & objFile.name
            End If
        Next
    End Function

    Ah bien vu
    Il etait couillon mon script a la base, il bouclait du coup..

    Merci

  11. #11
    En en utilisant l'outil de recherche de la GUI sur les *.mp3 d'un repértoire donné, puis en faisant un Ctrl+A, Ctrl+C, Ctrl+V dans un nouveau repertoire, ça ne marcherait pas ? Y'a pas la beauté de la science mais bon...

  12. #12
    Sinon, en utilisant un bon explorateur de fichier (au hasard Total Commander) ca se fait tout seul : resultat de la recherche dans un panneau, dossier de destination dans l'autre, copie.

  13. #13
    Je deterre ce topic pour poser une question: est il possible et si oui comment faire pour passer ces lignes de codes en VBA pour etre exploitable via excel par exemple?

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •