如何删除目录中的额外空格; Windows中的文件名/文件路径

时间:2012-07-30 09:30:06

标签: windows filepath

我想在多个文件路径中删除多余的空格,因为审查时的文件路径相当长。

例如,我有这个文件路径:

C:\TEST   Filepath\TEST   Filepath\TEST   Filepath\..\File.doc

并希望它成为:

C:\TEST Filepath\TEST Filepath\..\File.doc

我有数百个这样的文件路径,想知道是否有快速有效的方法从中删除多余的空间?

非常感谢。

1 个答案:

答案 0 :(得分:1)

在备用磁盘上尝试使用一小组。请小心。

void RemoveExtraSpace(string sourceDir)
{
    var filePaths = Directory.GetDirectories(sourceDir, "*.*", SearchOption.AllDirectories);
    Regex rx = new Regex(@"\s\s+");
    for(int x = filePaths.Length - 1; x >= 0; x--)
    {
        string cur = filePaths[x];
        DirectoryInfo di = new DirectoryInfo(cur);
        if(rx.IsMatch(di.Name))
        {
            string result = Regex.Replace(di.Name, @"\s\s+", " ");
            result = Path.Combine(di.Parent.FullName, result);          
            Directory.Move(di.FullName, result);
        }
    }
}