将文件移动到文件夹中

时间:2016-10-04 16:12:41

标签: windows file explorer

我在一个文件夹中有数千个图像文件,我想要一个程序自动创建新文件夹并在每个文件夹中放入50个文件。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

像这样的东西;

int i = 0;

string[] filePaths = Directory.GetFiles(@"C:\ALLFILESHERE\");

foreach (string fileName in filePaths)
{
        i++;

        bool exists = System.IO.Directory.Exists(Server.MapPath(i));

        if(!exists)
            System.IO.Directory.CreateDirectory(Server.MapPath(i));

        for (int j = 1; j < 50; i++)
        {
            try
            {
                var to = System.IO.Path.Combine(@"C:\i\", fileName);

                File.Move(fileName , to); // Try to move
                Console.WriteLine("Moved"); // Success
             }
             catch (IOException ex)
             {
                 Console.WriteLine(ex); // Write error
             }
         }
    }

答案 1 :(得分:0)

创建名称为movefiles.bat的文件,将以下内容粘贴到文件中,并将其放在有数千个文件的文件夹中。现在打开cmd并运行bat文件,或者只需双击bat file

@ECHO on
SETLOCAL ENABLEDELAYEDEXPANSION 
SET foldersize=30
SET counter=1
SET numFiles=0
::extension of the to be mentioned here as *.txt or *.jpg etc
FOR %%f IN (*.jpg) DO (
IF !counter!==1 (
SET /A numFiles+=1
MD folder!numFiles!
) 
MOVE /Y "%%f" folder!numFiles!
IF !counter!==!foldersize! (
SET counter=1
) ELSE (
SET /A counter+=1
)
)
ENDLOCAL
PAUSE

它将创建文件夹并放置foldersize中指定的文件数。