我尝试在c#中创建一个Form程序来重命名很多文件夹。客户必须选择要包含所有文件夹的文件夹(以及要重命名的名称),例如在c:\ folders \中是这个文件夹:
1991 - title1
1992 - title2
1993 - title3
1994 - title4
现在我将把这一年改成名字,就像这样:
name - title1
name - title2
name - title3
name - title4
示例pic:
我希望你能解开我想要的东西:-)而且你可以帮助我。
此致 的Matthias
答案 0 :(得分:3)
一些提示:
获取所有文件(如果你是递归的话) 想要)
Directory.GetFiles(@ “C:\文件夹\”)
使用
重命名所有文件File.Move(@ “C:\文件夹\使用oldName”, @ “C:\文件夹\ NEWNAME”);
如果您的文件格式类似,您只需将文件名拆分为“ - ”&用你的名字替换第一部分。
答案 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 - *"
应该做你想做的事。