【发布时间】:2015-01-21 14:56:55
【问题描述】:
我正在尝试从目录中查找文件:
String[] search1 = Directory.GetFiles(voiceSource, "85267-*.wav")
.Select(path => Path.GetFileName(path))
.ToArray();
String[] search2 = Directory.GetFiles(voiceSource, "85267 *.wav")
.Select(path => Path.GetFileName(path))
.ToArray();
但在search1 中,它同时选择了85267-s.wav 和85267 -s.wav。但我只想选择85267-s.wav。
search2 做得很好。
我该怎么做?
【问题讨论】:
-
使用
'?',作为通配符 -
@adv12:是吗?
*出现在-之后而不是之前。 -
在命令提示符下,
>dir 85267-*.wav返回两个文件。好像坏了。 -
更喜欢
Driectory.EnumerateFiles而不是Directory.GetFiles。 msdn.microsoft.com/en-us/library/… -
目录搜索匹配长名称和短名称。使用
dir /x查看短名称。85267 -s.wav的简称可能是85267-~1.wav,匹配的就是那个简称。