在datatable中只获取FolderName
本文关键字:获取 FolderName datatable | 更新日期: 2023-09-27 17:51:19
我试图只是得到子文件夹名,而不是FULLNAME到我的数据表中的一个单独的列。请帮助。
protected void Page_Load(object sender, EventArgs e) {
DataTable ReportsDT = new DataTable("ReportsDT");
ReportsDT.Columns.Add("Name");
ReportsDT.Columns.Add("FolderName");
DirectoryInfo DirInfo = new DirectoryInfo(Server.MapPath("Reports"));
DataRow ReportDTRow = ReportsDT.NewRow();
foreach (FileInfo fi in DirInfo.GetFiles("*.*", SearchOption.AllDirectories)) {
ReportDTRow = ReportsDT.NewRow();
ReportDTRow["Name"] = fi.Name;
ReportDTRow["FolderName"] = fi.FullName;
ReportsDT.Rows.Add(ReportDTRow);
}
}
您可以使用DirectoryInfo
获取给定目录的信息。在fi.Directory
下的FileInfo
实例中提供了一个副本:
foreach (FileInfo fi in DirInfo.GetFiles("*", SearchOption.AllDirectories)) {
ReportDTRow = ReportsDT.NewRow();
ReportDTRow["Name"] = fi.Name;
ReportDTRow["FolderName"] = fi.Directory.Name;
ReportsDT.Rows.Add(ReportDTRow);
}
参见下面的示例代码:
string[] folders = fi.FullName.Split('''');
string subFolderName = folders[folders.Length - 2];
我相信你正在寻找
ReportDTRow["FolderName"] = fi.Directory.Name;
您也可以在路径分隔符上分割字符串并自己解析它,但假设我理解您的要求,上述操作应该可以很好地工作。