【问题标题】:Rename folders in c# Form在 c# 表单中重命名文件夹
【发布时间】:2011-06-21 21:50:25
【问题描述】:

我尝试在 c# 中制作一个表单程序来重命名很多文件夹。客户必须选择文件夹(以及要重命名的名称),其中包含所有文件夹,例如在 c:\folders\ 中是以下文件夹:

1991 - title1
1992 - title2
1993 - title3
1994 - title4

现在我要把年份改成一个名字,像这样:

name - title1
name - title2
name - title3
name - title4

示例图片:

我希望你明白我想要什么 :-) 并且你可以帮助我。

问候, 马蒂亚斯

【问题讨论】:

  • 是的,我明白你想要什么,但我不会为你编写代码。这是一个问答页面,因此请在您有解决问题的地方发布具体问题。
  • 我是 C# 新手,但我认为 carra 写的对我有好处...

标签: c# winforms string rename


【解决方案1】:

一些提示:

  1. 获取所有文件(递归,如果你 想要)与

    Directory.GetFiles(@"c:\folder\")

  2. 重命名所有文件

    File.Move(@"C:\folder\oldname", @"C:\文件夹\新名称");

如果您的文件格式是这样的,您可以简单地将文件名拆分为“-”并将第一部分替换为您的姓名。

【讨论】:

    【解决方案2】:

    目录类会这样做。

    http://msdn.microsoft.com/en-us/library/system.io.directory.aspx

    您还应该查看 Path 以帮助确定要替换的内容。

    http://msdn.microsoft.com/en-us/library/system.io.path_members(v=VS.71).aspx

    // Move the directory.
    Directory.Move(path, target);
    

    【讨论】:

      【解决方案3】:

      使用其他答案并重命名我会像这样进行正则表达式替换。

      string new_folder_name = Regex.Replace(/*old folder name*/, @"\d\d\d\d", /*user provided name*/)
      

      【讨论】:

        【解决方案4】:

        您可以使用FolderBrowserDialog class 选择目录,使用Directory class 重命名它,使用String.Split 或RegEx 来修改名称。

        将所选目录及其名称存储到您选择的集合中。

        【讨论】:

          【解决方案5】:

          在命令提示符下面

          for /L %n in (1991,1,2010) do ren "(%n) - *" "name - *"
          

          应该做你想做的。

          【讨论】:

            猜你喜欢
            • 2014-04-04
            • 2012-09-03
            • 1970-01-01
            • 2016-07-15
            • 2017-06-09
            • 1970-01-01
            • 2013-07-04
            • 1970-01-01
            • 2014-09-09
            相关资源
            最近更新 更多