0

精査中のファイルパスはかなり長いので、いくつかのファイルパスの余分なスペースを削除したいと思います。

たとえば、次のファイルパスがあります。

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

そしてそれを次のようにしたいと思います:

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

このようなファイルパスが何百もあり、余分なスペースをすばやく効率的に削除する方法があるかどうかを知りたいですか?

どうもありがとう。

4

1 に答える 1

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);
        }
    }
}
于 2012-07-30T10:29:00.960 に答える