我在一个文件夹中有数千个图像文件,我想要一个程序自动创建新文件夹并在每个文件夹中放入50个文件。有什么想法吗?
答案 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
中指定的文件数。