2010-12-12 10 views
0

J'écris un outil qui effectue la copie de périphériques USB vers le HD local - je me demande s'il existe une fonction en C# pour copier un fichier d'un chemin à un autre?Recherche de la fonction de copie de fichiers en C#

+0

Qu'est-ce qu'un sfesified signifie? –

+0

@Shira: Vous voudrez peut-être travailler sur vos compétences en rédaction de titres. Essayez d'avoir un titre qui ne conviendrait pas aussi bien aux 10 000 autres questions. Dans ce cas, quelque chose comme "Existe-t-il une fonction en C# pour copier depuis le disque dur USB vers le disque dur local?" serait une énorme amélioration. –

+0

spécifique- désolé! – Shira

Répondre

5

Oui! Le astucieusement nommé:

File.Copy

+0

Thanx je vais l'essayer – Shira

+1

arh, c'mon ... c'est trop facile: P –

+8

il y a beaucoup plus d'où cela vient - demandez-moi comment supprimer un fichier ... continuez ... demandez-moi .... –

4

File.Copy est probablement OK pour ce que vous voulez faire, mais il ne fournit pas beaucoup de souplesse (aucune annulation, aucun progrès suivi ...).

Si vous avez besoin de ces fonctionnalités, vous pouvez consulter l'API CopyFileEx, qui les prend en charge. J'ai écrit un wrapper .NET pour CopyFileEx (et aussi MoveFileWithProgress), vous pouvez le trouver here (les commentaires de documentation sont en français, désolé à ce sujet ... j'espère que ce ne sera pas un problème). Voici comment vous pouvez l'utiliser:

void CopyFile(string source, string destination) 
{ 
    var copy = new FileCopyOperation(source, destination); 
    copy.ReplaceExisting = true; 
    copy.ProgressChanged += copy_ProgressChanged; 

    copy.Execute(); 
} 

void copy_ProgressChanged(object sender, FileOperationProgressEventArgs e) 
{ 
    copyProgressBar.Value = e.PercentDone; 

    if (abortRequested) 
     e.Action = FileOperationProgressAction.Cancel; 
} 
+0

Ne jamais documenter un code dans une langue autre que l'anglais si vous avez l'intention de le publier. En fait, pensez à ce qui se passe lorsque vous ne commentez pas en anglais sur un projet à source fermée et que vous devez coopérer avec un programmeur non francophone. –

+0

Thanx- un si bon travail! – Shira

+0

@the_drow: Je suis généralement d'accord avec vous, mais ce projet est développé avec d'autres membres d'une communauté de développeurs français, et est principalement destiné à cette communauté, il est donc logique d'écrire la documentation en français. Peut-être qu'un jour nous voudrons atteindre un public plus large, et nous traduirons la documentation ... –

Questions connexes