打开PDF文件,在任何subfolder_filename中都是一个数字知道用户+ _v +一个数字格式1.999

问题描述

我想制作一个打开PDf的程序

用户知道编号,但文件不存在或文件不完整,

如果用户键入3333

程序可能会在一个文件中找到更多

3333_V2.pdf 3333_V3.pdf等

由于这种原因,程序需要打开3333_V3

文件不在相同文件夹中

在大多数情况下,形成文件的主要折叠形式是向下2个子折叠(将调用不希望有thoes文件夹的规则)

我不能排除可以是2个同名文件..但具有相同文件文件是相同的,因此只要打开一个V数最高的文件就可以打开一个文件

解决方法

如果文件,目录和子目录太多,将会非常慢,并使您的应用程序非常慢,但是您可以使用类似的

        string UserInput = "";
        string rootdir = @""; //Your directory path
        // gets list of directories and subdirectories
        var dirs = Directory.EnumerateDirectories(rootdir,"*",SearchOption.AllDirectories);
         
        foreach (var Dir in dirs)
        {
            var files = Directory.EnumerateFiles(Dir,SearchOption.AllDirectories);
            foreach (var Fls in files)
            {
                // gets list of all files in directory
                if (Path.GetExtension(Fls) == ".pdf" && Path.GetFileNameWithoutExtension(Fls).StartsWith(UserInput))
                    Process.Start(Fls);
            }
        }