【问题标题】:replace names of all directiories and files in C#替换C#中所有目录和文件的名称
【发布时间】:2012-03-07 22:01:44
【问题描述】:

这个问题之前曾询问过 PowerShell。我想在 C# 中执行此操作。 我的桌面上有一个目录。目录名称是“重命名”。

C:\Users\dell\Desktop\rename

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

感谢您的帮助!

【问题讨论】:

  • 有什么问题?你试过什么?
  • 我是 C# 新手。我刚刚在 PowerShell 中尝试过。但是,我想用 C# 来做到这一点。

标签: c# replace directory filenames


【解决方案1】:

创建一个代表rename 文件夹的DirectoryInfo 对象,遍历其子文件夹,并使用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);
    }
}

【讨论】:

    【解决方案2】:

    像这样“重命名”文件:

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

    您可以在每个文件名上使用filename.Replace('_', '-') 来将下划线替换为连字符。

    【讨论】:

    • 好的。我看到了这个。但我不想一次又一次地写文件路径。我想更改路径 "C:\Users\dell\Desktop\rename" 中所有文件的名称。
    猜你喜欢
    • 2012-01-21
    • 2019-05-01
    • 2012-05-13
    • 1970-01-01
    • 2014-03-07
    • 2020-08-14
    • 2010-11-22
    • 2023-01-04
    • 1970-01-01
    相关资源
    最近更新 更多