【发布时间】:2014-05-31 13:20:26
【问题描述】:
我有一个包含数十万个 .wav 文件的网络路径。当我执行以下操作时:
FileBuffer = Dir$("\\MEDIASERVER\*.wav", FileAttribute.Archive)
线路永远冻结。我真的让它运行了一天,它永远不会随着执行而返回。然后我决定在 DOS 中使用 dir 命令测试症状。相同的症状。
然后我想知道如果我在搜索模式中添加一个前缀来缩小我的结果,我是否会得到相同的症状。我在 DOS 中这样做了:
DIR 0009*.wav
工作就像一个魅力。因此,有了这些知识,我回到了我的 VB.NET 项目并应用了类似的解决方案:
FileBuffer = Dir$("\\MEDIASERVER\0009*.wav", FileAttribute.Archive)
不会卡住,实际上会进行搜索。但我对第一个结果感到惊讶:
FileBuffer 返回以下值:
003925034541228334146804222014065036AM005020MIF.wav
这与我要求的模式不符。有人可以告诉我我做错了什么吗? DIR$ 是否存在已知错误?有没有办法在不枚举网络共享中 100% 的文件的情况下实现我想要的?
相关的附加信息: 开发机器:Windows 7 Pro,VS 2013 Pro 网络服务器:Linux Centos 5.0(运行 Windows 7 Pro 的网络驱动器也有同样的问题)。
提前致谢。
【问题讨论】:
-
它们是隐藏文件吗?
-
DIR \\MEDIASERVER\0009*.wav在 DOS 下工作吗? -
该命令在 DOS 下工作。实际上,我在 DOS 中得到的反馈与在 .NET 项目中得到的反馈相同。它们是普通文件。他们没什么特别的。
标签: vb.net