我有一个包含大约200,000个jpeg图像的文件夹。以下是我能找到的文件名的格式
我需要拍摄所有不以_x或_xx结尾的图像,即_1.jpg或_2.jpg或_10.jpg并选择BATCHID并将其复制并将其FTP到其他位置
对于以_x或_xx结尾的那些,我需要选择BATCHID并创建一个名为batchID的文件夹,并将所有以_X结尾的文件移动到_xx中。
由于
答案 0 :(得分:0)
尝试在文件名上使用String.Split,检查长度以确定要复制它的位置,并将第一个索引作为BATCHID:
这样的事情:
DirectoryInfo di = new DirectoryInfo("SourcePath");
IEnumerable<FileInfo> fileinfo = di.EnumerateFiles();
foreach(FileInfo fi in fileinfo)
{
string[] tmp = fi.Name.Split('_');
if (tmp.Length == 3)
{
if (!Directory.Exists("YourPath"))
{
Directory.CreateDirectory("YourPath" + tmp[0].ToString());
fi.MoveTo("YourPath" + tmp[0].ToString() + @"\" + fi.Name);
}
else
fi.MoveTo("YourPath" + + tmp[0].ToString() + @"\" + fi.Name);
}
else if (tmp.Length == 2)
{
//Copy Batch Id and Ftp logic
}
}