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

Я хочу переименовать файл с определенным расширением в папке. Например, C:\Users\ Имя пользователя \Desktop\Convert - это расположение файла, в котором я нахожусь. Есть еще одна папка, например "C:\Users\ Имя пользователя \Desktop\Convert\Unknown folder". Я не буду знать имя этой неизвестной папки. В этой неизвестной папке будет файл.txt. Так как мне получить доступ к неизвестной папке и изменить расширение файла.txt на.jpg?

Это то, что я пытался, и это не работает:

string ourPath = @"C:\Users\username\Desktop\Convert\123.txt";
    string newPath = Path.ChangeExtension(ourPath, "jpg");
    File.Move(ourPath, newPath);
}

1 ответ

Получить все файлы в папках-потомках, используя SearchOption.AllDirectories затем найдите свой файл и делайте что хотите:

var files = Diretory.GetFiles(
          @"C:\Users\Username\Desktop\Convert",
          "*.txt",
          SearchOption.AllDirectories);

var filePath = files.FirstOrDefault(f => Path.GetFileName(f) == "123.txt");

if(filePath != null)
{ 
    // manipulate the file ext. etc..
}
Другие вопросы по тегам