我在一个大文件夹中有1,000个唯一命名的文件夹。
在每个唯一命名的文件夹中,是另一个名为/ images的文件夹。
每个图像文件夹中都有一个名为 "Read-Web-Site-Design-{UNIQUEFOLDERNAME}-ca-logo.png"
我想.png
从.png
我提供的文件中替换1,768个文件(同时保留原始名称)。
文件夹结构和文件名需要保持不变。基本上,我使用相同(唯一)名称将新文件更新为旧文件1,000次。
我已经编写了这段代码,可以循环访问所有文件和目录,但是我想知道如何在这里更新文件,请检查我的代码:
private List<String> DirSearch(string sDir)
{
List<String> files = new List<String>();
try
{
foreach (string f in Directory.GetFiles(sDir))
{
files.Add(f);
}
foreach (string d in Directory.GetDirectories(sDir))
{
files.AddRange(DirSearch(d));
}
}
catch (System.Exception excpt)
{
//MessageBox.Show(excpt.Message);
}
return files;
}
只需执行一个操作File.Copy()
即可用要提供的新.png文件替换旧文件。
假设您将要在列表中替换所有文件,
List<String> files = new List<String>();
foreach (var file in files)
{
if (!string.IsNullOrWhiteSpace(file))
{
File.Copy("New File Path", "file to be replaced", true);
}
}
看到,您将true
作为Copy()方法的第3个参数传递,如果目标路径中已经有一个文件,则该参数将被覆盖。
或者您可以使用File.Replace()
。在这里,您可以保留原始文件作为备份。
File.Replace("New File", "File to be replaced", "Back up of Original File");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句