2010-02-02 70 views
3

当我复制在同一目录下在Windows文件。文件名复制算法

“的log.txt”它被复制为 “log.txt文件的副本”如果现在复制“log.txt文件的复制”再次,它就会被复制为 “log.txt文件的副本的副本”如果现在再我复制“log.txt文件的副本”它被复制为“复制(2)log.txt文件的复制的”

任何人都知道在这里使用哪种算法。

+0

顺便说一句,因为Vista中,此算法已被更改。这将是“日志 - Copy.txt”,“日志 - 复制(2).txt”等。 – 2010-02-02 15:42:07

回答

9

这很简单:

// 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

只是写这个。尼斯。 – plinth 2010-02-02 14:56:41

+0

谢谢它适用于C++的小修改 – Avinash 2010-02-02 18:17:30