如果在多个文件夹中找到,如何创建索引文件而不添加同名文件?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (47)

如果在多个文件夹中找到,如何在不添加同名文件的情况下创建索引文件?

这是我的代码

    public void createIndexedFileWithContentFromDirectory(string indexPDFDocumentName, string sourceDirectory, string fileExtension)
    {
        bool indexFileExists = File.Exists(indexPDFDocumentName);
        if (indexFileExists == false) {

            var files = Directory.EnumerateFiles(sourceDirectory, fileExtension, SearchOption.AllDirectories);

            File.WriteAllLines(indexPDFDocumentName, files.Select(x => System.IO.Path.GetFileNameWithoutExtension(x) + "=" + x).ToArray());

        }
    }

这就是索引文件的样子。

myfile1=C:\Folder1\myfile1.PDF

myfile2=C:\Folder2\myfile2.PDF

myfile3=C:\Folder3\myfile3.PDF

myfile1=C:\Folder4\myfile1.PDF

请注意myFile1添加了两次,因为它存在于两个不同的文件夹中。如果文件已经找到,那么我想要做的就是忽略它,所以索引文件只包含找到的第一个文件的位置。

就像这样.。

myfile1=C:\Folder1\myfile1.PDF

myfile2=C:\Folder2\myfile2.PDF

myfile3=C:\Folder3\myfile3.PDF

myfile4=C:\Folder4\myfile4.PDF

即使文件存在于多个目录中,筛选并仅将找到的第一个文件添加到索引文件的最佳方法是什么?

提问于
用户回答回答于

只是假设

var files = new DirectoryInfo(@"d:\temp")
            .EnumerateFiles("*.*", SearchOption.AllDirectories)
            .GroupBy(x => x.Name)
            .Select(x => x.First().FullName)
            .ToArray();

所属标签

可能回答问题的人

  • 西风

    renzha.net · 站长 (已认证)

    7 粉丝1 提问9 回答
  • 四无君

    0 粉丝0 提问3 回答
  • o o

    3 粉丝490 提问2 回答
  • Dingda

    Dingda · 站长 (已认证)

    4 粉丝0 提问2 回答

扫码关注云+社区

领取腾讯云代金券