Zasadniczo mam ten kod:Dlaczego pliki DirectoryInfo.GetFiles() pasują do plików, które nie pasują do maski?
DirectoryInfo dir = new DirectoryInfo(@"\\MYNETWORK11\ABCDEFG\ABCDEFGHIJKL\00806\");
FileInfo[] files = dir.GetFiles("200810*");
ja spodziewałem się, że pasują wszystkie pliki zaczynające się od 200810. Jednak to dopasowanie pliki o nazwie
20070618_00806.bak i 20070817_00806.bak (gwiazdy aren "t w nazwie pliku, to był jedyny sposób, w jaki mogłem zawrzeć podkreślenie)
Próbowałem go z dir z wiersza polecenia, a także pasuje do tych plików. Czemu?
Edit:
Może używając C: jako przykład nie jest rzeczą dobrą. Katalog nie mam faktycznie zapytań jest udział sieciowy \\ MYNETWORK11 \ ABCDEFG \ ABCDEFGHIJKL \ 00806 \
Jeśli sprawdzanie przeciwko krótkiej nazwy nie ma nic wspólnego z nim, 20070817_00806.bak być 200708 ~ 1. bak? Że nie pasuje albo
Nie wyjaśnia to tego całkowicie, więc dodam tylko komentarz, ale znak _ jest znakiem specjalnym do celów dopasowywania. Umieść 2 w miejscu _ dla tych nazw plików, a ty podejdziesz trochę bliżej. –
@Joel, czy mówisz _ jest specjalny w oknach lub w formatowaniu SO? – scottm
Działa dla mnie. Stworzyłem plik o nazwie 20070618_00806.bak i uruchom "dir 200810 *" w folderze. Nie znaleziono plików. Czy czegoś brakuje? –