首页 > 解决方案 > 将文件分类到目录中

问题描述

我的任务是将文件分类到目录中。

我有如下文件:

AA12.txt
AA34.txt
AA56.txt
BB12.txt
BB34.txt
etc.

我需要创建一个函数,该函数将根据前两个字母创建目录并在那里复制相应的文件。
因此将有目录 AA 与文件 AA12、AA34、AA56 和目录 BB 与文件 BB12、BB34 等。

AA
 |- AA12
 |- AA34
 |- AA56

BB
 |- BB12
 |- BB34

我正在考虑手动创建所有目录,然后复制文件。

string directoryPath = @"C:\\AA";
if (!Directory.Exists(directoryPath))
{
    Directory.CreateDirectory(directoryPath);
}

但是有没有更优雅和自动化的方式来做这样的事情?谢谢

标签: c#filedirectory

解决方案


感谢@Mong Zhu 指出完整路径问题,试试这个:

string path = ".";
foreach (string file in Directory.GetFiles(path))
{
    string fileName = Path.GetFileName(file);
    string dirfileName = fileName.Substring(0, 2);
    if (!Directory.Exists(dirfileName))
    {
        Directory.CreateDirectory(dirfileName);
    }

    File.Copy(path + "\\" + fileName, path + "\\" +dirfileName + "\\" + fileName);
}

推荐阅读