如何使用c#重命名未知目录中的文件

时间:2014-10-13 10:59:48

标签: c# file-io directory renaming

我想重命名文件夹中存在特定扩展名的文件。例如C:\ Users \ Username \ Desktop \ Convert是我所在的文件位置。还有另一个文件夹,例如" C:\ Users \ Username \ 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 个答案:

答案 0 :(得分:2)

使用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..
}