【问题标题】:How to get files from directory symlink [duplicate]如何从目录符号链接中获取文件[重复]
【发布时间】:2019-06-18 07:41:54
【问题描述】:

我尝试从目录符号链接中获取路径列表。这是写异常

找不到路径的一部分。

var filePath = @"C:\symlink";

var paths = new List<string>((Directory
  .GetFiles(filePath, "*.*", SearchOption.AllDirectories))
  .OrderBy(x => new FileInfo(x).Name));

【问题讨论】:

标签: c# file


【解决方案1】:

你必须检查目录是否存在;例如如果我们想在目录不存在时得到一个空列表

var filePath = @"C:\symlink";

var paths = Directory.Exists(filePath)
  ? Directory
      .EnumerateFiles(filePath, "*.*", SearchOption.AllDirectories)
      .OrderBy(file => Path.GetFileName(file))
      .ToList()
  : new List<string>();  

请注意,我们不必使用GetFiles(...),它将所有文件读入数组,但可以使用EnumerateFiles枚举文件

【讨论】:

  • 该目录包含一批子文件夹和文件。目录符号链接是网络驱动程序的目标。
  • @Kosta Sidorenko:如果你想扫描所有子目录,那么SearchOption.AllDirectories 是正确的选择;请检查symlink 是否是网络驱动器的正确映射,即系统是否可以将其寻址为目录
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-20
  • 1970-01-01
  • 2020-10-07
  • 2023-03-14
  • 1970-01-01
  • 2015-07-31
  • 1970-01-01
相关资源
最近更新 更多