.net 中的递归文件搜索
我需要在驱动器(C:、D: 等)中搜索特定文件类型(扩展名如 .xml、.csv、.xls)。 如何执行递归搜索以循环所有目录和内部目录并返回文件所在位置的完整路径? 或者我可以从哪里获得这方面的信息?
VB.NET 或 C#
谢谢
编辑〜我遇到了一些错误,例如无法访问系统卷访问被拒绝等。有谁知道我在哪里可以看到一些实现文件搜索的示例代码? 我只需要搜索选定的驱动器并返回找到的所有文件的文件类型的完整路径。
I need to search a drive (C:, D: etc) for a partuicular file type (extension like .xml, .csv, .xls). How do I preform a recursive search to loop all directories and inner directories and return the full path of where the file(s) are? or where can I get information on this?
VB.NET or C#
Thanks
Edit ~ I am running into some errors like unable to access system volume access denied etc. Does anyone know where I can see some smaple code on implementing a file search? I just need to search a selected drive and return the full path of the file type for all the files found.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这个怎么样? 它避免了内置递归搜索经常引发的异常(即,您对单个文件夹的访问被拒绝,并且整个搜索失败),并且是惰性评估的(即,它在找到结果后立即返回结果,而不是缓冲 2000 个结果)。 惰性行为使您可以构建响应式 UI 等,并且还可以与 LINQ 配合使用(尤其是
First()
、Take()
等)。How about this? It avoids the exception often thrown by the in-built recursive search (i.e. you get access-denied to a single folder, and your whole search dies), and is lazily evaluated (i.e. it returns results as soon as it finds them, rather than buffering 2000 results). The lazy behaviour lets you build responsive UIs etc, and also works well with LINQ (especially
First()
,Take()
, etc).它看起来像 recls 库 - 代表 recursive ls - 现在有一个纯 .NET 实现。 我刚刚在 Dobb 博士的文章中读到了相关内容。
将用作:
It looks like the recls library - stands for recursive ls - now has a pure .NET implementation. I just read about it in Dr Dobb's.
Would be used as: