替换C#中所有目录和文件的名称

时间:2012-03-07 22:01:44

标签: c# replace directory filenames

这个问题之前曾要求过PowerShell。我想在C#中这样做。 我的桌面上有一个目录。目录名称是“重命名”。

C:\Users\dell\Desktop\rename

“重命名”文件夹包含“a_b”,“b_c”,“c_d”,“d_e”文件夹。 我想用“ - ”字符替换“_”。 换句话说,文件夹的新名称将是“a-b”,“b-c”,“c-d”,“d-e”

感谢您的帮助!

2 个答案:

答案 0 :(得分:9)

创建代表DirectoryInfo文件夹的rename对象,遍历其子文件夹,并使用String.Replace_替换为-

var parent = new DirectoryInfo(@"C:\Users\dell\Desktop\rename");

foreach (var child in parent.GetDirectories()) {
    var newName = child.FullPath.Replace('_', '-');

    if (newName != child.FullPath) {
        child.MoveTo(newName);
    }
}

答案 1 :(得分:0)

“重命名”这样的文件:

http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/435a2692-6161-4039-bfa9-5e6211d90c49/

您可以对每个文件名执行filename.Replace('_', '-')以使用连字符替换下划线。