public FsItemInfo GetItemInfo(string path) { var fi = new FileInfo(path); if (fi.Exists) { return(FsItemInfo.Existing(fi.Name, (ulong)fi.Length, fi.LastWriteTimeUtc)); } var di = new DirectoryInfo(path); if (di.Exists) { return(FsItemInfo.Directory(di.Name, (di.Attributes & FileAttributes.ReparsePoint) != 0)); } return(FsItemInfo.Missing()); }
public IReadOnlyList <FsItemInfo> GetDirectoryContent(string path) { var res = new List <FsItemInfo>(); var di = new DirectoryInfo(path); if (!di.Exists) { return(res); } foreach (var fi in di.EnumerateFileSystemInfos()) { if ((fi.Attributes & FileAttributes.Directory) != 0) { res.Add(FsItemInfo.Directory(fi.Name, (fi.Attributes & FileAttributes.ReparsePoint) != 0)); } else { res.Add(FsItemInfo.Existing(fi.Name, (ulong)((FileInfo)fi).Length, ((FileInfo)fi).LastWriteTimeUtc)); } } return(res); }