c#如何批量获取一个文件夹下的文件属性,然后存入数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#如何批量获取一个文件夹下的文件属性,然后存入数据库相关的知识,希望对你有一定的参考价值。

如何批量获取一个文件夹下所有文件的文件名、所在位置及文件大小等属性,然后将

属性信息存入sqlserver数据库。

最好详尽一些,谢谢~

首先建好数据库。假设下面的数据库已建好,数据表名为fileinfo

id    filename   filesize  extension createtime

分别代码,编号 文件名 文件大小  扩展名 文件创建时间

1,创建数据表


第二步。在对应的文件夹下复制好文件。假设当前目录为image,该目录下有下列文件。

第三步,信息入库,本人这里以C#为例。

public static InsertFilesInfo(string path)   //创建方法。这里采用参数传递,方便对不同目录下的文件进行遍历入库

string filename=""; ///定义变量,用于存放文件名

string filesize=""; ///定义变量,用于存放文件大小

string extension="";/// 定义变量,用于存放文件扩展名

string createtime=""; ///定义变量,用于存放文件创建时间

System.IO.DirectoryInfo dir= new System.IO.DirectoryInfo(System.Web.HttpContext.Current.Server.MapPath(path));

///先获取相应的目录。并实例化目录对象。方便获取该 目录下的文件。

System.IO.FileInfo[] fInfo = dir.GetFiles();

///创建文件信息集合,将path参数指定的目录下的文件全部获取到,存入fInfo这个文件信息数组。

foreach (System.IO.FileInfo f in fInfo) ///开始遍历数组。将所有的文件遍历出来。

filename = f.Name.ToString();

filesize=f.Length.ToString();

extension=f.Extension.ToString();

createtime=fCreationTime.ToString()

///上述操作已经获取到文件相关信息。

下一步入库。

入库,假设数据连接对象已创建好,具体的数据连接代码,这里不再提供了。

string sql="insert fileinfo (filename,filesize,extension,createtime) values ('" + filename + "','"+ filesize+"','"+ extension+"','"+ createtime+"'")";

cmd.CommandType='Text';

cmd.CommandText=sql;

cmd.ExecuteNoQuery();

///文件信息已经入库了。这是循环入库,有多少个文件,数据库表中就会有多少条信息。


另外可以使用php。原理都是一样的。都是先遍历目录下所有的文件,再将文件信息存储。再遍历。再入库。

参考技术A 获得一个文件夹下面的文件信息可以使用以下的代码
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo("D:\\Test");
foreach ( System.IO.FileInfo file in dir.GetFiles())

file.FullName; // 全名
file.Name; // 文件名
file.Length; // 文件大小


至于怎么把这些存入数据库应该不用给代码了吧,搜一下到处都是例子:)本回答被提问者采纳

ArcGIS中怎么批量地提取某一个属性字段里面的文字呢?如图所示

1、构建如下图的属性表

2、单击道路字段下的field calculator,打开如下对话框,按照箭头标示的步骤,先选择string,然后单击left()函数,这里要获取“门牌地址”的左边七个字符,即“元岗路一区五巷”,所以用如下的函数即可,最后点击OK

3、得到如下效果

4、根据楼主的情况,你选取的不一定都是七个字符,所以,你可以先多建立几个道路字段,如道路1,道路2,道路3...,然后分别获取需要的文字后,再合并到一个字段下即可,如下图

5、需要特别注意的是,这里由于道路1,道路2,道路3获取的字符数不一致,所以当只要获取元岗路这两条记录时,先选中元岗路79和元岗路85这两条记录,然后再选中道路2字段,打开道路2的field calculator对话框,

单击OK后,得到如下结果

6、道路3字段按照道路2相同的方法获得,如下图

7、最后,把道路1,道路2,道路3下的内容汇总到道路字段中

8、单击OK后得到如下结果

9,最后把作为过渡作用的道路1,道路2,道路3字段删掉即可

参考技术A

ArcGIS中批量地提取修改某一个属性字段里面的文字的具体步骤如下:

1、首先打开ArcMap并加载一组数据

2、然后在内容列表中,右击图层,打开属性表。

3、然后启动ArcToolbox,选择数据管理工具—字段—提取字段

4、在输入表中输入地市界图层,在下方删除字段中选择要删除的字段。

5、点击“确定”,重新打开属性表即可。

参考技术B 在属性表中,选项卡内有“按属性选择”,输入公式:道路=“元岗路一元……”,就好追问

可能你理解错了我的意思,原数据是门牌地址,然后我要从门牌地址这个字段中提取道路属性,结果放在道路一列中,你提供的方法是按属性选择。

以上是关于c#如何批量获取一个文件夹下的文件属性,然后存入数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何批量抓取网页目录下的所有文件

批量修改文件夹下的所有文件名称

求教高手:批处理批量改文件名前缀

Matlab中如何批量读取文件夹中的文件进行处理?

Python|获取文件夹下的指定类型文件名并存入表格

Python|获取文件夹下的指定类型文件名并存入表格