Varför listas alla filer som har ".txt*" istället för endast ".txt"? (Se nedanstående kod) Ett enkelt sätt att komma runt problemet är att kolla att filen verkligen slutar med .txt i din loop. Inte så snyggt, men det löser i varje fall problemet. Ja, det känns ju lite meningslöst då med searchPattern-delen... Kollat att lista filer som heter ".tx" eller ".txtx" ? Just tre tecken är ju lite speciellt, eftersom "alla" filer får ett DOS-namn med 3 tecken som slut. Jo, då fungerar det bra, men går searchPattern/dir alltså bara på 8.3-namnet, eller är det endast filändelsen som den kollar tre tecken av? Du har ju ett namn med alla tecken, sen har du ett 8.3 namn, säkert är det så att den kollar båda, när du söker. Detta är "by design" se doc.Bugg i DirectoryInfo.GetFiles!?
Filerna som skall listas kan vara ex.
-test.txt
-test2.txt
-test3.txt_old (denna borde inte listas, men gör det enligt nedanstående kod)
Dim objDir As New DirectoryInfo(".\")
Dim alTemp As New ArrayList
Dim i As Integer
alTemp.AddRange(objDir.GetFiles("*.txt"))
For i = 0 To alTemp.Count - 1
Console.WriteLine(alTemp.Item(i))
Next
I kommandoprompten blir det likadant, "dir *.txt" listar alla (tre) filerna.
Finns det något sätt att bara lista alla ".txt" och inte ".txt*" via searchPattern?
Sv: Bugg i DirectoryInfo.GetFiles!?
Sv:Bugg i DirectoryInfo.GetFiles!?
Men det känns ju inte som det egentligen är ett .NET-bekymmer eftersom samma fenomen uppstår då man kör "dir *.txt", men jag skulle ha en vettig anledning till varför det är som det är =)Sv: Bugg i DirectoryInfo.GetFiles!?
/mickeSv:Bugg i DirectoryInfo.GetFiles!?
Finns det någon annan funktion än GetFiles som kollar hela filnamnet (+ändelsen)?Sv: Bugg i DirectoryInfo.GetFiles!?
Kolla i en DOS-prompt, så ser du att den gör likadant...
Det är nog inte ett .NET-problem utan ligger i OS:et
/mickeSv: Bugg i DirectoryInfo.GetFiles!?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemiodirectoryinfoclassgetfilestopic2.asp