void Main() { var sw = new Stopwatch(); sw.Start(); var foundFunctions = new Dictionary>(); var directoryPath = Path.Combine(GetExecutingDirectory(),@"..\Modules"); var listOfWords = File.ReadAllLines(Path.Combine(GetExecutingDirectory(),"SRE-12955.txt")); var listOfFiles = new DirectoryInfo(Path.Combine(GetExecutingDirectory(),@"..\Modules")).EnumerateFiles("*.ps1",SearchOption.AllDirectories).ToList(); foreach(var file in listOfFiles) { var text = File.ReadAllText(file.FullName); foreach (var word in listOfWords) { if (text.IndexOf(word) > -1) { if (!foundFunctions.ContainsKey(file.FullName)) { foundFunctions.Add(file.FullName, new List()); } foundFunctions[file.FullName].Add(word); } } } sw.Stop(); sw.Dump(); foundFunctions.Dump(); } public static string GetExecutingDirectory() { return Path.GetDirectoryName(Util.CurrentQueryPath); }