System.IO.Path 不包含 GetFiles 的定义

本文关键字:GetFiles 定义 包含 IO Path System | 更新日期: 2023-09-27 18:33:14

我有一个奇怪的错误。我得到了一个包含 2 行的文本文件。1 表示目录路径,1 表示数据。

应用程序将给定目录中文件的所有路径写入文本文件。但我希望能够通过第二个文本文件更改路径。

下面是用于读取文本文件的代码:

//Reads 2 lines of the text file
string[] TextData = File.ReadAllLines(@text file);
    string DirectoryPath = TextData[1];
    string ScanHours = TextData[2];

以下是编写string DirectoryPath = TextData[1];找到的所有文件的代码:

//Writes all the files of DirectoryPath into a string
string[] files = Directory.GetFiles(DirectoryPath, "*.*", System.IO.SearchOption.AllDirectories);

基本上,string DirectoryPath = TextData[1];是指文本文件中的一行。该行包含目录的路径。

我收到此错误:System.IO.Directory does not contain a definition for GetFiles.我尝试了多种方法,例如将Directory.GetFileS();更改为Path.GetFiles();

如果有人能帮助我,或者为我指出正确的方向,我将不胜感激! :)

编辑 -> 完整代码

public static void Main(string[] args)
        {
            string[] TextData = File.ReadAllLines(@"C:'TextData.txt");
            string DirectoryPath = TextData[1];
            //string ScanHours = TextData[2];
        //Original
        //string DirectoryPath = File.ReadAllText(@"C:'DirectoryPath.txt");
        string[] files = Path.GetFiles(DirectoryPath, "*.*", System.IO.SearchOption.AllDirectories);
        List<string> updatedFiles = new List<string>();
        DateTime from = DateTime.Now.AddDays(-1);
        DateTime to = DateTime.Now;
        foreach (string name in files)
        {
            FileInfo file = new FileInfo(name);
            string fullname = file.FullName;
            if (file.LastWriteTime >= from && file.LastWriteTime <= to)
            {
                updatedFiles.Add(name);
                Console.WriteLine(file.FullName + " ; " + "last changed at >>  " + " ; " + file.LastWriteTime.ToString());
                Console.WriteLine();
            }
            else
            {
            }
        }
    }

那里有一个FileStream/Streamwriter来记录每个输出。但我删除了它。

编辑 2 -> 使用 Directory.GetFiles 而不是 Path.GetFiles

System.ArgumentException:路径的格式无效。 at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength(

at System.IO.Path.GetFullPathInternal(String path(

at System.IO.FileSystemEnumerableIterator 1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler 1 resultHandler, Boolean checkHost(

at System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption(

at CheckWithinTime.Program.Main(String[] args( in c:''Users''Vvandereng''Documents''Stage''Programmeren''LastWriteAccess-Checker''LastWriteAccess-Checker''Program.cs:regel 30

System.IO.Path 不包含 GetFiles 的定义

我收到此错误:System.IO.Directory 不包含 GetFiles 的定义

这令人困惑,此处显示错误

错误 1"System.IO.Path"不包含"GetFiles"的定义

通过Directory.GetFiles尝试以下操作

string[] files = Directory.GetFiles(DirectoryPath, "*.*", System.IO.SearchOption.AllDirectories);

尝试从 DirectoryPath 值中删除行尾字符。