如果文件存在,请删除另一个文件

本文关键字:文件 删除 另一个 存在 如果 | 更新日期: 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上,所以我希望它是对的。也许字符串"()"需要转义字符。