Déplacer tous les fichiers dans les sous-dossiers vers un autre dossier en utilisant c #
Mon chemin source est C:\Music\
dans lequel j'ai des centaines de dossiers appelés Album-1, Album-2 etc.
Ce que je veux faire est de créer un dossier appelé Consolidated
dans mon chemin de la source.
Et puis je veux déplacer tous les fichiers à l'intérieur de mes albums pour le dossier Consolidated
, de sorte que je reçois tous les fichiers de musique dans un dossier.
Comment puis-je faire cela ?
source d'informationauteur Anuya
Vous devez vous connecter pour publier un commentaire.
Essayez comme ceci
Elle permettra d'obtenir tous les fichiers dans le "C:\Music" le dossier (y compris les fichiers dans le sous-dossier) et de les déplacer vers le dossier de destination. Le
SearchOption.AllDirectories
volonté de recherche de manière récursive tous les sous-dossiers.Vous pouvez utiliser le Répertoire objet pour le faire, mais vous risquez de rencontrer des problèmes si vous avez le même nom de fichier en plusieurs sous répertoires (par exemple album1\1.mp3, album2\1.mp3), de sorte que vous pourriez avoir besoin d'un peu plus de la logique de virer de quelque chose d'unique sur les noms (par exemple, album1-1.mp4).
Quelque chose comme cela devrait vous obtenez de roulement. Vous devrez ajouter la vérification des erreurs et ce n'est pas (Que faire si il ya un sous-répertoire de la source nommée "Consolidé"? Que faire si Consolidés existe déjà? Etc.) C'est à partir de la mémoire, de sorte que le pardon des erreurs de syntaxe, etc.
Fondamentalement, ce qui peut être fait avec Répertoire.Déplacer:
ne vois aucune raison pourquoi vous ne devriez pas utiliser cette fonction. Il est récursif et optimisation de la vitesse de
MSDN : msdn.microsoft.com/en-us/library/bb762914.aspx
Vous trouverez probablement ce utile de dedup vos mp3 qui ont un nom de fichier différent, mais le même titre.
source de David @ msdn!
Vous parcourir en boucle et puis exécutez simplement Déplacerle Répertoire de la classe ont la fonctionnalité pour l'inscription de contenu trop iirc.
Vous pourriez être intéressé à essayer de Powershell et/ou Robocopy pour effectuer cette tâche. Il va être beaucoup plus concis que la création d'une application en C# pour la tâche. Powershell est également un excellent outil pour le développement de l'outil à la ceinture.
Je crois Powershell et Robocopy sont tous les deux installés par défaut sur Windows Vista et 7.
Cela pourrait être un bon endroit pour commencer: http://technet.microsoft.com/en-us/library/ee332545.aspx