I would like to iterate through a directory and stop at the first folder that doesn't end in "@"
This is what I tried so far (based on another question from this site):
string rootPath = "D:\\Pending\\Engineering\\Parts\\3";
string targetPattern = "*@";
string fullPath = Directory
.EnumerateFiles(rootPath, targetPattern, SearchOption.AllDirectories)
.FirstOrDefault();
if (fullPath != null)
Console.WriteLine("Found " + fullPath);
else
Console.WriteLine("Not found");
I know *@
isn't correct, no idea how to do that part.
Also I'm having problems with SearchOption
Visual studio says "it's an ambiguous reference."
Eventually I want the code to get the name of this folder and use it to rename a different folder.
FINAL SOLUTION
I ended up using a combination of dasblikenlight and user3601887
string fullPath = Directory
.GetDirectories(rootPath, "*", System.IO.SearchOption.TopDirectoryOnly)
.FirstOrDefault(fn => !fn.EndsWith("@"));
Since
EnumerateFiles
pattern does not support regular expressions, you need to get all directories, and do filtering on the C# side: