以c#Form重命名文件夹

时间:2011-02-05 15:07:09

标签: c# winforms string rename

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

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

现在我将把这一年改成名字,就像这样:

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

示例pic:

example program

我希望你能解开我想要的东西:-)而且你可以帮助我。

此致 的Matthias

5 个答案:

答案 0 :(得分:3)

一些提示:

  1. 获取所有文件(如果你是递归的话) 想要)

    Directory.GetFiles(@ “C:\文件夹\”)

  2. 使用

    重命名所有文件

    File.Move(@ “C:\文件夹\使用oldName”, @ “C:\文件夹\ NEWNAME”);

  3. 如果您的文件格式类似,您只需将文件名拆分为“ - ”&用你的名字替换第一部分。

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

目录类将执行此操作。

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 :(得分:1)

使用其他答案并重命名我会像这样做一个RegEx替换。

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

答案 4 :(得分:0)

在命令提示符中显示以下内容

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

应该做你想做的事。