Как правильно переименовывать папки с помощью C#

У меня есть код на C#, который переименовывает нужную мне папку:

DirectoryInfo store = new DirectoryInfo(Path.Text);
string name = store.Name;
string parent = store.Parent.FullName;
string newPath = Path.Combine(parent, "более100стр" + " " + name);
store.MoveTo(newPath);

Но этот код выдаёт исключение "Отказано в доступе по пути", хотя у меня есть все права на работу с папками. Я заметил, что этот код отрабатывает нормально и переименовывает папку если у меня закрыты все вкладки проводника Windows. То есть перед тем как запустить программу, мне приходиться закрывать не только ту папку, которую я хочу переименовать, но и все остальные. Это не очень удобно, так как мне нужно, чтобы некоторые папки оставались открытыми. Я так же пробовал такой код:

string oldPath = Path.Text;
string newName = "более100стр" + " " + nome;
string parent = Directory.GetParent(oldPath).FullName;
string newPath = Path.Combine(parent, newName);

if (Directory.Exists(oldPath))
{
  Directory.Move(oldPath, newPath);
}

Но ни чего не изменилось. Подскажите пожалуйста как мне решить проблему и заставить этот код работать даже если у меня есть папки, открытые в проводнике?


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