c# - 将文件分类到目录中
问题描述
我的任务是将文件分类到目录中。
我有如下文件:
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);
}
但是有没有更优雅和自动化的方式来做这样的事情?谢谢
解决方案
感谢@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);
}
推荐阅读
- arrays - PostgreSQL:多列精确匹配
- c# - 替换函数 - 没有重载方法错误 C# - 试图删除字符串中的部分
- python - 带有 numpy/pytorch 的量化向量
- python - 在 Python 中使用列表推导解析嵌套的 JSON
- python - write_pandas 雪花连接器功能无法在表上操作
- javascript - 嵌套对象 - 接口与记录类型?
- android - Android Fragment isAdded 配置更改后返回 false(屏幕旋转)
- android - 运行“expo 弹出”后,仅显示 android 包。有什么方法可以像常规反应本机项目一样获取 ios 文件夹?
- javascript - 如何将 Razor for 循环变量的 ID 传递给 javascript
- c# - 从自定义非 UI 线程获取 SelectedIndex