Copier des dossiers en C # en utilisant System.IO
J'ai besoin de Copier le dossier C:\FromFolder pour C:\ToFolder
Ci-dessous est le code qui permettra de réduire mon FromFolder, puis va créer mon ToFolder.
Donc, mon FromFolder aura disparu et tous les éléments seront dans le dossier nouvellement créé, appelé ToFolder
System.IO.Directory.Move(@"C:\FromFolder ", @"C:\ToFolder");
Mais je veux juste Copier les fichiers dans FromFolder à ToFolder.
Pour une raison quelconque il n'y a pas de Système.IO.Répertoire.Copie???
Comment cela se fait à l'aide d'un fichier de commandes - Très facile
xcopy C:\FromFolder C:\ToFolder
Ce qui concerne
Etienne
source d'informationauteur Etienne
Vous devez vous connecter pour publier un commentaire.
Ce lien fournit un bon exemple.
http://msdn.microsoft.com/en-us/library/cc148994.aspx
Ici est un extrait de
il y a une copie de fichier.
Recréer dossier et copiez tous les fichiers du répertoire d'origine vers le nouveau
exemple
Copie de répertoires (correctement) est en fait une tâche assez complexe, surtout si vous prenez en compte les avancées du système de fichiers techniques comme les jonctions et des liens en dur. Votre meilleur pari est d'utiliser une API qui la prend en charge. Si vous n'avez pas peur d'un peu de P/Invoke, SHFileOperation dans shell32 est votre meilleur pari. Une autre alternative serait d'utiliser le Microsoft.VisualBasic.FileIO.Système de fichiers.CopyDirectory méthode dans le Microsoft.VisualBasic assemblée (même si vous n'êtes pas à l'aide de VB).
oui, vous avez raison.
http://msdn.microsoft.com/en-us/library/system.io.directoryinfo.aspx
a fourni à la fonction de copie ..
ou vous pouvez utiliser une autre fonction
http://msdn.microsoft.com/en-us/library/ms127960.aspx
Vous aurez besoin de créer un nouveau répertoire à partir de zéro, puis une boucle sur tous les fichiers dans le répertoire source et copiez-les.
Je laisse créer le répertoire de destination pour vous 🙂
Vous avez raison. Il n'y a pas de Répertoire.Méthode de copie. Ce serait une méthode très puissante, mais aussi dangereux, pour la méfiance du développeur. La copie d'un dossier peut potentionaly être très coûteux en temps de l'opération, tout en se déplaçant (sur le même disque) ne l'est pas.
Je suppose que Microsoft pensé qu'il serait sence de copier le fichier par fichier, de sorte que vous pouvez ensuite afficher une sorte de progression. Vous pourriez itération à travers les fichiers dans un répertoire, par la création d'une instance de DirectoryInfo et puis l'appel de GetFiles(). Également inclure les sous-répertoires, vous pouvez également appeler GetDirectories() et d'énumérer les creux avec une méthode récursive.
Une simple fonction qui copie l'intégralité du contenu du dossier source vers le dossier de destination et crée le dossier de destination s'il n'existe pas
Cet article fournit une alogirthm pour copier récursivement un répertoire et tout son contenu
De l'article :
Bonne chance!
Ma version de DirectoryInfo.CopyTo à l'aide de l'extension.
Et de l'utiliser comme ça...
Ce code permet à l'utilisateur de copier le contenu d'un répertoire à un autre.