2009-07-29 4 views
18

ile başlayan belirli bir dizeyle başlayan dosyaları almaya çalışırken bazı garip davranışlarla karşılaşıyorum. DirectoryInfo.getFiles

birisi bu konuda bir çalışma örneği verecek edin:

Belirli bir dize ile başlayan bir dizindeki tüm dosyaları almak istiyorum, ama aynı zamanda xml uzantısını içerir. örneğin

:

Ben elma ile başlayan dosyaları elde edebilmek istiyorum
apples_01.xml 
apples_02.xml 
pears_03.xml 

.

Şimdiye kadar uygulanmış Arama Modeli dayalı bu kodu

DirectoryInfo taskDirectory = new DirectoryInfo(this.taskDirectoryPath); 
FileInfo[] taskFiles = taskDirectory.GetFiles("*.xml"); 
+3

isnt apples * .xml çalışıyor mu? –

cevap

34
FileInfo[] taskFiles = taskDirectory.GetFiles("apples*.xml"); 
+0

haha, şaka mı yapıyorsun? Hepsi bu mu? –

+0

awesome, – CodeSpeaker

+0

Basitlik en iyi cevap olduğunu bilmiyordum. Daha karmaşık senaryolar için, –

7
var taskFiles = taskDirectory.GetFiles("*.xml").Where(p => p.Name.StartsWith("apples")); 
+0

'var _FileInfoArray = _DirectoryInfo.GetFiles (Daha da iyisi, .net 4 yeni .EnumerateFiles() kullanın) (X => x.Name.Contains (_FileName));' –

2

GetFiles liste dosyaları var.

Arama Desen nasıl kullanılacağı hakkında bilmek DirectoryInfo.GetFiles bakınız.

+0

+ MSDN bağlantısı için 1. Ben yayınlamak üzereydim ama siteye bağlantıyı kaybettim. – Cerebrus