57 lines
1.7 KiB
C#
57 lines
1.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace RenameIt
|
|
{
|
|
/// <summary>
|
|
/// List of Directories in Folders.
|
|
/// </summary>
|
|
internal class DirectoriesInFolders
|
|
{
|
|
/// <summary>
|
|
/// List of all Directories.
|
|
/// </summary>
|
|
public List<string> GetDirectoryArray { set; get; }
|
|
|
|
/// <summary>
|
|
/// Creates a list which contains all directorynames in a specific folder.
|
|
/// </summary>
|
|
/// <param name="root">Folder which contains files to be listed.</param>
|
|
/// <param name="subFolders">True for scanning subfolders.</param>
|
|
public DirectoriesInFolders(string root, bool subFolders)
|
|
{
|
|
GetDirectoryArray = GetDirectoryList(root, subFolders);
|
|
}
|
|
|
|
private List<string> GetDirectoryList(string root, bool subFolders)
|
|
{
|
|
List<string> directoryArray = new List<string>();
|
|
try
|
|
{
|
|
string[] Directories = System.IO.Directory.GetDirectories(root);
|
|
string[] Folders = System.IO.Directory.GetDirectories(root);
|
|
for (int i = 0; i < Directories.Length; i++)
|
|
{
|
|
directoryArray.Add(Directories[i].ToString());
|
|
}
|
|
|
|
if (subFolders == true)
|
|
{
|
|
for (int i = 0; i < Folders.Length; i++)
|
|
{
|
|
directoryArray.AddRange(GetDirectoryList(Folders[i], subFolders));
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
throw (Ex);
|
|
}
|
|
return directoryArray;
|
|
}
|
|
}
|
|
}
|