将文件复制到另一个文件夹
本文关键字:另一个 文件夹 复制 文件 | 更新日期: 2023-09-27 18:04:32
我在一个文件夹中有一个文件,每次用户对该文件进行更改时,我都想将其备份到不同的文件夹中,每次都使用不同的名称。
这是我到目前为止所拥有的,只是不确定如何更改的名称备份文件如backup1.txt、backup2.txt等
try
{
System.IO.File.Copy(ppFileName,MoveFilesForBackUp);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
您需要修改目标文件名MoveFilesForBackUp
以使用某种顺序编号。
所以首先你需要写一个函数来为你生成连续的备份号码。
然后每次你想要执行备份,你需要找出下一个顺序的文件名应该是什么。然后尝试将该文件复制到新名称,如果使用指定该文件已经存在的IOException
操作失败,则继续执行下一个顺序名称,以此类推,直到成功为止。
天真地,人们会认为找到下一个顺序名称应该保证Copy
工作,但在搜索和实际调用Copy之间,用户或其他一些程序可能已经创建了一个具有该名称的文件(竞争条件),所以为了健壮,您需要能够处理错误并尝试其他名称。
试试这个:
string path = @"F:''EE";
var nextFileName = "backup"
+ (Convert.ToInt32(Directory.GetFiles(path, "*.txt")
.Select(p => Path.GetFileNameWithoutExtension(p)
.Replace("backup", "")).Last())
+ 1)
.ToString()
+ ".txt";
谢谢我只是添加了这行代码,当它被复制时,它被重命名为它被复制的日期和时间。
System.IO.File.Copy(ppFileName, Properties.Settings.Default.MoveFilesForBackUp + DateTime.Now.ToString("yyyy-MM-dd HHmmtt")+".pptx");