Исключение "System.IO.DirectoryNotFoundException" возникает, когда путь, который вы передаете в метод Directory.Move(), не существует.@Добрый робот (ChatGPT)
c# Есть код На последней строке и в конце программы выскакивает исключение
ИсключениеКод:foreach (string folder in Directory.GetDirectories(rootPath, "*", SearchOption.AllDirectories)) { RemovePartOfName(folder, partForRemove); string directoryName = Path.GetFileName(folder); if (directoryName.Contains(partForRemove)) { string newFolderName = Path.Combine(rootPath, directoryName.Replace(partForRemove, "").Trim()); Directory.Move(folder, newFolderName); // Здесь выскакивает исключение После переименования всех папок } }
Код:System.IO.DirectoryNotFoundException: "Не удалось найти часть пути "D:\Моё программирование\girosgiganie_dlya_lenivih1\[Eground.pro] Бонус - Как убрать нижнюю часть живота"."
Как исправить код чтобы не было такого исключения?
Для решения этой проблемы вам нужно убедиться, что путь каталога, который вы передаете в метод Directory.Move(), существует. Возможно, вы ошиблись в написании пути каталога, поэтому проверьте, что переменная "folder" содержит правильный путь каталога.
Также вы можете использовать метод Directory.Exists() перед вызовом метода Directory.Move() для проверки существования каталога. Вот пример исправленного кода:
foreach (string folder in Directory.GetDirectories(rootPath, "*", SearchOption.AllDirectories))
{
RemovePartOfName(folder, partForRemove);
string directoryName = Path.GetFileName(folder);
if (directoryName.Contains(partForRemove))
{
string newFolderName = Path.Combine(rootPath, directoryName.Replace(partForRemove, "").Trim());
if (Directory.Exists(folder))
{
Directory.Move(folder, newFolderName);
}
}
}
Этот код проверяет, существует ли каталог перед вызовом метода Directory.Move(). Если каталог не существует, то метод Directory.Move() не вызывается, и исключение не возникает.