InSkipCollection and MakeHiddenIfAllItemsAreHidden
This commit is contained in:
@ -190,4 +190,46 @@ internal abstract class XPath
|
||||
}
|
||||
}
|
||||
|
||||
internal static void MakeHiddenIfAllItemsAreHidden(string rootDirectory)
|
||||
{
|
||||
bool check;
|
||||
FileInfo fileInfo;
|
||||
IEnumerable<string> files;
|
||||
DirectoryInfo directoryInfo;
|
||||
IEnumerable<string> subDirectories;
|
||||
string[] directories = Directory.GetDirectories(rootDirectory, "*", SearchOption.AllDirectories);
|
||||
foreach (string directory in directories)
|
||||
{
|
||||
directoryInfo = new(directory);
|
||||
if (directoryInfo.Attributes.HasFlag(FileAttributes.Hidden))
|
||||
continue;
|
||||
check = true;
|
||||
subDirectories = Directory.EnumerateDirectories(directory, "*", SearchOption.TopDirectoryOnly);
|
||||
foreach (string subDirectory in subDirectories)
|
||||
{
|
||||
directoryInfo = new(subDirectory);
|
||||
if (!directoryInfo.Attributes.HasFlag(FileAttributes.Hidden))
|
||||
{
|
||||
check = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!check)
|
||||
continue;
|
||||
files = Directory.EnumerateFiles(directory, "*", SearchOption.TopDirectoryOnly);
|
||||
foreach (string file in files)
|
||||
{
|
||||
fileInfo = new(file);
|
||||
if (!fileInfo.Attributes.HasFlag(FileAttributes.Hidden))
|
||||
{
|
||||
check = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!check)
|
||||
continue;
|
||||
directoryInfo.Attributes |= FileAttributes.Hidden;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user