[英]Sorting files into directories
我的任务是将文件分类到目录中。
我有这样的文件:
AA12.txt
AA34.txt
AA56.txt
BB12.txt
BB34.txt
etc.
我需要创建一个函数,该函数将根据前两个字母创建目录并将相应的文件复制到那里。
因此,将有包含文件 AA12、AA34、AA56 的目录 AA 和包含文件 BB12、BB34 等的目录 BB。
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);
}
感谢 Sohaib Jundi 我找到了解决方案,我是这样做的:
string path = @"C:\\";
string destination = @"E:\\";
foreach (string fileName in Directory.GetFiles(path))
{
string onlyFileName = Path.GetFileName(fileName);
string dirName = onlyFileName.Substring(0, 2);
string dirPath = $@"{destination}\{dirName}";
if (!Directory.Exists(dirPath))
{
Directory.CreateDirectory(dirPath);
}
File.Copy(fileName, $@"{dirPath}\{onlyFileName}");
}
感谢 Sohaib Jundi 的帮助,希望有人会发现这很有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.