2010-02-02 5 views
3

Lorsque je copie le fichier suivant dans Windows dans le même répertoire.Algorithmes de copie de nom de fichier

« Log.txt » il se copié en tant que « Copie Log.txt » Si maintenant copier « Copie Log.txt » à nouveau, il est copié comme « Copie Copie Log.txt » Si à nouveau Je copie "Copie de Log.txt" il est copié comme "Copie (2) de Copie de Log.txt"

Quelqu'un au courant de quel algorithme est utilisé ici.

+0

Soit dit en passant, ce algorithmes a été changé depuis Vista. Ce serait "Log - Copy.txt", "Log - Copy (2) .txt" et ainsi de suite. –

Répondre

9

est simple:

// source is string representing path of source file to copy 
string dest = "Copy of " + source; 
int count = 2; 
while(File.Exists(dest)) { 
    dest = "Copy (" + count.ToString() + ") of " + source; 
    count++; 
} 
File.Copy(source, dest); 
+1

Étais en train d'écrire ça. Agréable. – plinth

+0

merci Cela fonctionne avec des modifications mineures pour C++ – Avinash