M
M
Masha Kravtsova2017-04-21 20:24:10
Windows
Masha Kravtsova, 2017-04-21 20:24:10

How to automatically create 100 folders and move 10 pictures from the shared folder into each folder?

Masha has a common folder with pictures, there are a lot of them. It is necessary to create 100 folders using some streaming method and move 10 pictures into each of them (it doesn’t matter which and it doesn’t matter which folder) from the public folder. How to do it?

Answer the question

In order to leave comments, you need to log in

3 answer(s)
J
jcmvbkbc, 2017-04-21
@wasright

BASE=`pwd`/..
for DIR in `seq 1 100` ; do
    mkdir "$BASE/$DIR" && { find -type f | head -n 10 | xargs -d"\n" -I{} mv {} "$BASE/$DIR" ; }
done

S
Stalker_RED, 2017-04-21
@Stalker_RED

for (i=0; i<100; i++) {
  новая_папка = сгененировать_имя_папки();
  создать_папку(новая_папка);
  переместить_10_картинок(общая_папка, новая_папка);
}

функция переместить_10_картинок(откуда, куда) {
  for (i=0; i<10; i++) {
     файл = получить_имя_файла_из_папки(откуда)
     переместить_файл(файл, куда)
  }
}

And what is "stream method"?

M
Mercury13, 2017-04-21
@Mercury13

You take any programming language with a powerful enough library and write:

целое iFile = 0
строка sourcePath = добавитьРазделитель(общаяПапка)
строка targetPath = ""
для fname : перебор по файлам в sourcePath + '*'
  строка sourceName = sourcePath + fname
  если iFile % РАЗМЕРПАПКИ = 0
    строка targetFolder = добавитьРазделитель(целеваяПапка) + целоеВСтроку(iFile / РАЗМЕРПАПКИ)
    создатьНовуюПапку(targetFolder)
    targetPath = добавитьРазделитель(targetFolder)
  копироватьФайл(sourceName, targetPath + fname)
  удалитьФайл(sourceName)
  iFile = iFile + 1

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question