#windows #file #explorer
#Windows #файл #проводник
Вопрос:
У меня в папке тысячи файлов изображений, и я хочу, чтобы программа автоматически создавала новые папки и помещала по пятьдесят файлов в каждую папку. Есть идеи?
Комментарии:
1. Да, узнайте об использовании Windows powershell en.wikipedia.org/wiki/PowerShell … должно быть «проще простого» сделать что-то подобное.
2. Как упоминал GhostCat, вы могли бы использовать PowerShell. Пакет Windows — еще один вариант. После написания любого из них вы можете использовать планировщик задач Windows, если вам нужно, чтобы это запускалось несколько раз.
Ответ №1:
что-то вроде этого;
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
}
}
}
Ответ №2:
Создайте файл с именем скажем 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
.
Комментарии:
1. @Ela что не работает я попробовал это в своей папке, и это работает, какое расширение файла вы хотите переместить? измените расширение
FOR %%f IN (*.jpg) DO
в этой строке на ваше расширение*.jpg
*.txt
или что-нибудь еще2. это сработало, спасибо. в этой папке содержался файл различного формата. это была проблема