Question Suppression de fichiers en double via des fichiers de commandes ou Windows 7


J'ai une bibliothèque de musique mixte avec des fichiers "mp3" et des fichiers "m4a". Bon nombre des répertoires musicaux et des sous-répertoires d'albums spécifiques incluent en réalité ce qui semble dupliquer des fichiers de morceaux musicaux différant uniquement par l'extension de fichier des fichiers mp3 et m4a.

Pour les répertoires contenant les mêmes chansons avec les deux extensions, comment puis-je utiliser Windows 7 et / ou une commande de fichiers par lots pour parcourir tout mon répertoire musical (et les sous-répertoires respectifs) et supprimer uniquement les fichiers m4a contenant le même fichier de morceau dans le format de fichier mp3 dans le même dossier de bibliothèque de musique?

Ma bibliothèque musicale contient environ 75 000 chansons si j'ignore les fichiers m4a en double de la même chanson pouvant exister dans le ou les mêmes dossiers musicaux de divers albums.

Cependant, à l’heure actuelle, sans tenir compte des types d’extension de fichiers spécifiques, mon répertoire semble contenir plus de 100 000 chansons (où évidemment 25 000 de ces chansons sont des doublons qui représentent les formats de fichiers susmentionnés de la même chanson). dossier musical et / ou répertoire (s) musical (s)).

Quelle opération ou commande puis-je utiliser pour analyser en toute sécurité ma bibliothèque musicale et supprimer les fichiers de morceaux «m4a» superflus, là où les fichiers «mp3» préférés existent déjà? J'ai également besoin d'instructions étape par étape sur la façon de configurer et de démarrer les fichiers de commandes qui atteignent l'objectif indiqué ci-dessus. Merci beaucoup les gars!


4
2018-01-21 13:58


origine


100 000 chansons? J'aime vraiment voir comment Similarité effectue sur de tels grands dossiers. Il scanne l'intégralité de votre dossier de musique et recherche les doublons par "empreinte acoustique" - nixda


Réponses:


Voici un script (par exemple un "fichier de commandes") qui le fera pour vous si vous ne voulez pas télécharger un programme depuis quelque part:

@Écho off
setlocal activéexpansion
pour / r %% F dans (* .m4a) faire (
    set mp3name = %% ~ dpnF.mp3
    si existe! mp3name! (
        fc / b %% F! mp3name! > nul
        si le niveau d'erreur 1 (
            echo Attention: %% F et! mp3name! les deux existent mais ne sont pas identiques.
        ) autre (
            echo DEL %% F
        )
    )
)

Interprétation:

  • for %%lettre in (joker) do some_command analyse le répertoire en cours pour les fichiers correspondant au caractère générique et exécute le commander avec la variable identifiée par le lettre définir le nom du fichier.
  • for /r %%lettre in ... est le même mais récursif.
  • ( ... ) vous permet de spécifier un bloc de commandes au lieu d'un seul.
  • Comme indiqué ci-dessus, %%F est le nom du fichier M4A trouvé.
  • %%~dpnF est la lettre de lecteur, le chemin et le nom (de base) de %%F - c'est-à-dire tout sauf l'extension. Pour cela, nous ajoutons un .mp3 extension; c'est-à-dire un nom de fichier identique à %%F sauf qu'il a un .mp3 extension. Attribuez ce nom au mp3name variable.
  • Si ce fichier existe, effectuez les six lignes suivantes. (Notez que nous utilisons à nouveau ( ... ) pour spécifier un bloc de commandes.)
  • fc/b %%F !mp3name! > nul - fc est File compare. fc aime comparer des fichiers texte, donc nous disons fc/bfaire un bcomparaison intermédiaire. Alors fc/b %%F !mp3name! compare les deux fichiers. > nul les moyens n'affichent pas les résultats de la comparaison à l'écran; nous voulons seulement que le script connaisse le résultat de la comparaison.
  • if errorlevel 1 signifie faire la ou les commandes suivantes uniquement si la commande immédiatement précédente "a échoué". Dans le cas de fc, "Échec" signifie que les fichiers ne sont pas identiques, donc le script vous dit que Hey_Jude.mp3 et Hey_Jude.m4a les deux existent mais ne sont pas identiques.
  • Finalement, DEL %%F signifie supprimer le fichier. (echo DEL %%F signifie afficher la commande de suppression, mais ne pas l'exécuter.)

Installer:

  • Dans l'Explorateur Windows, accédez à la racine (en haut) de votre répertoire de musique, créez un nouveau fichier texte et attribuez-lui un nom.
  • Double-cliquez dessus pour l'éditer dans le Bloc-notes. Copiez et collez le script ci-dessus. Sauvegarder et quitter.
  • De retour dans l'explorateur Windows, renommez le texte (.txt) fichier pour avoir un .bat extension. Ignorer l'avertissement cliquez sur "Oui".
  • Démarrer une invite de commandes. cd dans le répertoire ci-dessus. Tapez le nom du fichier script (batch) (vous pouvez taper le .bat extension, mais vous n'avez probablement pas besoin de). Vérifiez que la liste de DEL commandes qu'il rapporte semble raisonnable. Si c'est le cas,
  • Retournez dans Windows Explorer, cliquez avec le bouton droit sur le .bat fichier et sélectionnez Modifier.
  • Dans le bloc-notes, modifiez echo DEL à DEL. Sauvegarder et quitter.
  • De retour dans l'invite de commandes, exécutez à nouveau la commande.

4
2018-01-22 00:32





oh, j'ai eu un problème similaire! Ma grande collection de musique se compose de différents types de fichiers - mp3, m4a, flac. Il était difficile de trouver la même chanson au format mp3 et flac avec les localisateurs de doublons habituels - ils calculaient simplement les hachages de fichiers et les comparaient. Bien sûr, différents fichiers ont des hashs différents, mais c'est la même chanson! Enfin, j'ai utilisé Audio Comparer programme. Il compare les fichiers audio par leur son. Cependant, Audio Comparer n'est pas parfait - il se trouve sur ma collection de 80 000 chansons, alors j'ai dû diviser ma collection en deux parties pour que cela fonctionne.


2
2017-07-25 14:10



Peut-être qu'un logiciel libre ou un logiciel Open Source devrait être une meilleure option pour cela. Ne me dis pas ce est gratuit en tous cas. - smonff
Comme dupeGuru par exemple ? - smonff


J'ai eu une situation similaire où je dois supprimer un .tif fichier lorsqu'un fichier PDF du même nom est disponible. Voici un code de lot de 5 lignes.

   rem A simpler solution to traverse sub-folders with a 
       root folder provided and remove files with the same 
       name but different extension.

    @echo on
    for /R <root-folder> %%I in (*.tif) do (
        @echo checking 
         if exist %%~dI%%~pI%%~nI.PDF del %%I
      )
    pause

Placez ce code dans un fichier de commandes et fournissez le dossier racine. Le traitement par lots examinera tous les fichiers et sous-dossiers et supprimera tous les fichiers tif.


2
2018-03-22 19:22





Si vous décidez finalement de le faire manuellement, il y a beaucoup de localisateurs de fichiers "dupe" gratuits, mais ceux-ci sont lents et difficiles à utiliser à mon avis.

Je préfère le faire manuellement en utilisant un programme gratuit appelé "Tout", un indexeur de fichiers qui utilise les systèmes de votre MFT:

  1. Mettez ceci dans le champ de recherche:

    * .mp3 | * .m4a

  2. Vous pourriez vouloir regarder la documentation sur limiter les recherches à un lieu

  3. La liste des résultats contiendra tous vos morceaux mp3 et m4a par ordre alphabétique, donc chaque fois que vous voyez une chanson deux fois, vous pouvez mettre en évidence et supprimer les fichiers m4a en toute sécurité.

Je suis conscient que ce n'est pas une solution automatisée, mais je préfère faire les choses manuellement, donc Je peux utiliser le temps supplémentaire pour tailler ma collection de chansons indésirables de toute façon.


1
2018-01-21 14:14



Je trouve le auslogics dup finder (freeware) très bon et facile à utiliser: auslogics.com/en/software/duplicate-file-finder - BJ292