Как проверить, есть ли указанная часть пути в полном пути до папки?

Программа должна с помощью FolderBrowserDialog открывать папку и создавать в ней и во всех её дочерних папках файлы. Проблема в том, что если указать как папку, допустим, C:\Program Files\, то прога выдаст ошибку доступа, ну а если бы не выдавала, то теоретически, в каждой папке появилось бы куча пустых файлов. Я хочу ограничить создание файлов только для тех папок, в пути которых есть путь до папки Документы для случайного пользователя, но не знаю как это реализовать.


Ответы (1 шт):

Автор решения: XelaNimed

Вам нужно всего лишь получить путь к папке документов пользователя и сравнить его с выбранным путём в FolderBrowserDialog:

using(var fbd = new FolderBrowserDialog())
{
    if (fbd.ShowDialog() == DialogResult.OK)
    {
        var userDocPath =
            Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
        if (fbd.SelectedPath.StartsWith(userDocPath))
        {
            var selectedPath = fbd.SelectedPath;
        }
    }
}
→ Ссылка