.Net framework’s Directory class of system.io namespace provides a static method GetFiles to search the files of a particular directory. Here is the static method detail –
Using the code snippet we can find all the files of the directory specified in path –
string[] paths = Directory.GetFiles(path, stringsearchPattern, SearchOption.AllDirectories);
Here depending on the stringsearchPattern , directory mentioned in path and it sub-directories will be searched and depending on the result , one array of string containing the file paths will be returned. About searchPattern, it could contain any string. But the allowed wildcard characters are – *(zero/more character) and ?(exactly zero or more character).
For example –
1. “*.txt” returns files having .txt extension.
2. “*.?xt” returns files having extension .xt , .axt , .bxt and so on.
Be careful about one anomaly in searchPattern, if you write “*.txt” as search pattern , it gonna consider it like “*.txt*” – that is let’s consider following folders-
If we search using “*.txt” – it gonna match with every one of them. We will get same kind of result for “*htm” search pattern– which will match files with extensions- *htm and *html. I don’t know the exact reason behind it and I will update about it if I get to know that.
In addition, searchPattern in GetFiles() does not support multiple filters which we may require if we want our GetFiles() functions to return ,let’s say, all the “*txt” and “.htm” files. Iteratively searching individual files could be one easy way to solve this problem.
For more information – visit http://msdn2.microsoft.com/en-us/library/ms143316.aspx .