日期:2014-05-18  浏览次数:20778 次

C# + DOS + SQL (把一个文本导入到数据库)

有一个远程路径(共享文件夹,例子的话,用本地路径也可以)

要求
1.指定日期,比如说是今天
2.根据 dir 路径 > test.txt (只要文件,不要目录)
3.根据生成的test文件 样式如下

 驱动器 C 中的卷没有标签。
 卷的序列号是 32D9-E221

 C:\Users\RAY 的目录

2011/12/14 23:03 <DIR> .
2011/12/14 23:03 <DIR> ..
2011/12/14 22:55 951,106 1.xps
2011/12/14 22:58 0 222
2011/12/14 22:27 294,289 bat.pdf
2011/09/17 12:01 <DIR> Contacts
2011/12/14 22:56 951,106 D
2011/12/30 21:55 <DIR> Desktop
2011/12/20 22:21 <DIR> Documents
2011/09/17 12:01 <DIR> Downloads
2011/12/14 22:35 951,106 E
2011/11/30 22:11 <DIR> Favorites
2011/12/25 22:13 <DIR> funshion
2011/12/30 20:58 3,650 funshion.ini
2011/11/27 22:10 <DIR> Library
2011/09/17 12:01 <DIR> Links
2011/09/17 12:01 <DIR> Music
2011/12/10 22:27 981 null
2011/09/17 12:01 <DIR> Pictures
2011/12/10 22:26 0 q.txt
2011/09/17 12:01 <DIR> Saved Games
2011/12/21 00:33 <DIR> Searches
2011/09/17 12:01 <DIR> Videos
  8 个文件 3,152,238 字节
  15 个目录 27,930,181,632 可用字节

如何从这个文件中 应用dos的for循坏之类的命令加工成一个规整的文本文件

可以用bcp命令导入到数据库中(日期,时间,文件大小,文件名)日期和时间能合成到一个字段最好了
不好合的话,数据库分开放即可


2011/12/14 22:55 951106 1.xps
2011/12/14 22:58 0 222
2011/12/14 22:27 294289 bat.pdf

该如何做这个文本的处理



------解决方案--------------------
这些直接用.NET库就能搞定,不需要调用外部命令。

另外,DOS 10年前就死了。不要把控制台叫DOS。
------解决方案--------------------
dir e:\ /a-d | findstr /b "2011/12/14" > test.txt

e:\ 路径
/a-d 不要目录
/b "2011/12/14" 以 2011/12/14 开始的行