diff --git a/Duplicati/Library/Utility/FilterGroups.cs b/Duplicati/Library/Utility/FilterGroups.cs index 62be51008..a188b1af4 100644 --- a/Duplicati/Library/Utility/FilterGroups.cs +++ b/Duplicati/Library/Utility/FilterGroups.cs @@ -324,15 +324,15 @@ namespace Duplicati.Library.Utility yield return FilterGroups.CreateWildcardFilter(@"*/Microsoft*/Windows/Cookies*"); yield return FilterGroups.CreateWildcardFilter(@"*/MSOCache*"); yield return FilterGroups.CreateWildcardFilter(@"*/NTUSER*"); - yield return FilterGroups.CreateWildcardFilter(@"*/RECYCLER/"); - yield return FilterGroups.CreateWildcardFilter(@"*UsrClass.dat*"); + yield return FilterGroups.CreateWildcardFilter(@"*/UsrClass.dat"); yield return FilterGroups.CreateWildcardFilter(@"?:/hiberfil.sys"); yield return FilterGroups.CreateWildcardFilter(@"?:/pagefile.sys"); yield return FilterGroups.CreateWildcardFilter(@"?:/swapfile.sys"); + yield return FilterGroups.CreateWildcardFilter(@"?:/$Recycle.Bin/"); + yield return FilterGroups.CreateWildcardFilter(@"?:/Recycled/"); + yield return FilterGroups.CreateWildcardFilter(@"?:/Recycler/"); yield return FilterGroups.CreateWildcardFilter(@"?:/System Volume Information/"); - yield return FilterGroups.CreateWildcardFilter(@"?:/Windows/Installer*"); - yield return FilterGroups.CreateWildcardFilter(@"?:/Windows/Temp*"); - yield return FilterGroups.CreateWildcardFilter(@"*/ntuser.dat*"); + yield return FilterGroups.CreateWildcardFilter(FilterGroups.CreateSpecialFolderFilter(Environment.SpecialFolder.Windows) + "Installer/"); foreach (var s in GetWindowsRegistryFilters() ?? new string[0]) { @@ -351,7 +351,6 @@ namespace Duplicati.Library.Utility yield return FilterGroups.CreateWildcardFilter(@"?:/autoexec.bat"); yield return FilterGroups.CreateSpecialFolderFilter(Environment.SpecialFolder.System); yield return FilterGroups.CreateSpecialFolderFilter(Environment.SpecialFolder.SystemX86); - yield return FilterGroups.CreateSpecialFolderFilter(Environment.SpecialFolder.Windows); yield return FilterGroups.CreateSpecialFolderFilter(Environment.SpecialFolder.Recent); var windir = FilterGroups.CreateSpecialFolderFilter(Environment.SpecialFolder.Windows); @@ -397,13 +396,12 @@ namespace Duplicati.Library.Utility if (group.HasFlag(FilterGroup.TemporaryFiles)) { - yield return FilterGroups.CreateWildcardFilter(@"*/$RECYCLE.BIN/"); yield return FilterGroups.CreateWildcardFilter(@"*.tmp"); yield return FilterGroups.CreateWildcardFilter(@"*.tmp/"); yield return FilterGroups.CreateWildcardFilter(@"*/AppData/Local/Temp*"); yield return FilterGroups.CreateWildcardFilter(@"*/AppData/Temp*"); yield return FilterGroups.CreateWildcardFilter(@"*/Local Settings/Temp*"); - yield return FilterGroups.CreateWildcardFilter(@"?:/Windows/Temp*"); + yield return FilterGroups.CreateWildcardFilter(FilterGroups.CreateSpecialFolderFilter(Environment.SpecialFolder.Windows) + "Temp/"); } if (group.HasFlag(FilterGroup.Applications)) @@ -584,7 +582,7 @@ namespace Duplicati.Library.Utility // Duplicati matches filters against folder paths exactly. // Meaning a filter for 'C:\Windows' won't match 'C:\Windows\'. - // So this makes sure special folder's filter's have a trailing directory separator. + // So this makes sure special folder filters have a trailing directory separator. // (Alternatively, this could append '*' to all folder filters.) return Common.IO.Util.AppendDirSeparator(filter); }