获取目录名称列表并输出到文件

时间:2011-05-24 20:49:19

标签: c# filesystems io directory-structure

我正在寻找Windows计算机获取目录列表的最佳方法,将结果输出到格式化的文本文件,然后我可以使用它来进行SQL更新。

目录已合并:

/<Category-Name>/img.jpg

/<Category-Name>/images/*.jpg
/<Category-Name>/thumbnails/*.jpg

/<Category-Name>/full/*.jpg
/<Category-Name>/thumb/*.jpg

我正在考虑的是一个包含以下内容的输出文件:

<Category-Name>,f,blah1.jpg
<Category-Name>,f,blah2.jpg
<Category-Name>,t,blah3.jpg
etc...

我的局限在于我没有使用,也无法访问Linux计算机以获取cat等漂亮的工具。所以我决定使用C#,而.Net框架是我实现这一目标的最佳选择。我相信Python或Perl也会做得很好,但我还没有学过这两种语言。

有关如何撰写此类计划或其他有关如何解决此问题的建议的任何建议都是非常受欢迎的。

为了清楚起见,我的意图是获得一个目录列表,其中包含以“.jpg”结尾的文件输出到文本文件,我可以通过这种方式操作以创建SQL INSERT到数据库中。通过编程来实现这一目标所花费的时间远远少于通过内容管理系统为每个任务和未来任务进行的每次输入。目录很容易成千上万。

2 个答案:

答案 0 :(得分:1)

您可以使用Linq-to-FileSystem查询目录,列出所有文件夹,文件和子文件夹。下面的文章演示了API:

http://www.codeproject.com/KB/linq/LinqToTree.aspx#filesystem

答案 1 :(得分:1)

DirectoryInfo应该为您提供所需内容 - http://msdn.microsoft.com/en-us/library/system.io.directoryinfo.aspx