代码之家  ›  专栏  ›  技术社区  ›  joei

替换文件夹名不起作用[已关闭]

  •  -1
  • joei  · 技术社区  · 6 年前

    我希望能够在包含所有子文件夹的文件夹中搜索。然后如果它的名字包含一个特定的单词,我会更改或删除它。 例如

    movie\movie2018\movie2018-2-10
    

    movie\movie2015\movie2015-2-10
    

    我用了爆炸密码

    string[] dirs = Directory.GetDirectories(rootPath, "*", SearchOption.AllDirectories); 
    foreach (var folder in dirs) 
    { 
        if (folder.Contains("2018")) 
            dirs.ToString().Replace("2018", "2015"); 
    }
    

    它获取文件夹的名称,但不更改它。你能告诉我我的错误在哪里吗?

            string[] dirs = Directory.GetDirectories(myRootPath, "*", SearchOption.AllDirectories);
            foreach (var folder in dirs)
            {
                if (folder.ToLower().Contains("oldchar"))
                    Directory.Move(folder, folder.ToLower().Replace("oldchar", "newchar"));
            }
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   AustinWBryan ravenspoint    6 年前

    为什么不尝试遍历目录文件夹?

    public void Rename(string root_path)
    {
         var dirs = Directory.EnumerateDirectories(root_path);
    
         foreach(var folder in dirs) {
            if (folder.contains("spcefic_word")
                   // voila! rename
         Rename(folder);      
    }