public static bool TestFilenamePattern(string Source, string Test) { string SourceFilename = Source; if (SourceFilename.EndsWith("\\") == true) { SourceFilename = SourceFilename.Substring(0, SourceFilename.Length - 1); } string FilenameTest; if (Test.ToLower().StartsWith(SourceFilename.ToLower())) { FilenameTest = Test.Substring(SourceFilename.Length, Test.Length - SourceFilename.Length); } else { FilenameTest = Test; } foreach (string s in Program.ExcludeFiles) { if (FileRegexTest.WildcardMatchesWindowsStyle(FilenameTest, s) == true) { return(false); } } return(true); }
public void TestFilenamePatterns() { Assert.IsTrue(FileRegexTest.WildcardMatchesWindowsStyle("\\Recycler\\", "\\Recycler\\*")); Assert.IsTrue(FileRegexTest.WildcardMatchesWindowsStyle("\\Recycler\\Blahblah", "\\Recycler\\*")); Assert.IsTrue(FileRegexTest.WildcardMatchesWindowsStyle("\\Recycler\\xyz\\text.txt", "\\Recycler\\*")); Assert.IsTrue(FileRegexTest.WildcardMatchesWindowsStyle("\\windows\\system32\\foo.dll", "*.dll")); Assert.IsTrue(FileRegexTest.WildcardMatchesWindowsStyle("\\$ntfs.log", "\\$ntfs.log")); Assert.IsFalse(FileRegexTest.WildcardMatchesWindowsStyle("$ntfs.log", "\\$ntfs.log")); Assert.IsFalse(FileRegexTest.WildcardMatchesWindowsStyle("C:\\$ntfs.log", "\\$ntfs.log")); }