如果文件存在,请删除另一个文件
本文关键字:文件 删除 另一个 存在 如果 | 更新日期: 2023-09-27 18:33:24
当其他文件存在时,我需要删除文件。
Directory.GetFiles(dirName)
.Select(f => new FileInfo(f))
.Where(f => f.exists)
.ToList()
.ForEach(f => f.Delete());
这是自动删除文件的工作代码,但我需要修改它以删除其他目录中的其他文件。
目录 2 中的文件名称略有不同。目录 1 中的文件名 = 我的文件名()但目录 2 中的文件名 = 我的文件名
例如,在"C://folder123"中存在文件"File123()" 我需要检测它并删除名为"File123"的"C://My 文档/文件夹456"中的文件
//编辑
我已经写了一些东西,我认为它应该可以工作,但我必须找出应用程序池的问题来测试它:
string path = "directory2";
Directory.GetFiles("directory1")
.Where(f => f.Contains("()") == true)
.Select(f => f.TrimEnd(')', '('))
.ToList();
File.Delete(path);
这个解决方案呢?
string sourcePath = "c:''folder123'file123()";
string secondPath = "c:''documents''folder456";
if(File.Exists(sourcePath))
{
FileInfo sInfo = new FileInfo(sourcePath);
string dFilePath = Path.Combine(secondPath, sInfo.Name.Replace("()",""));
if(File.Exists(dFilePath))
File.Delete(dFilePath);
}
我把它写在我的iPad上,所以我希望它是对的。也许字符串"()"需要转义字符。