@Anatoliy_iz_Kaliningrada
Обычный человек)

Автоматическое размещение фото по папкам, реально?

Друзья, всем привет !
Подскажите пожалуйста, есть-ли такой софт который может автоматически размещать фото в созданные папки.
Пример: Есть 1000 фото, мне надо что бы программа сама создала папку и поместила туда 15 фото.
Спасибо за ваши ответы.
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ответы на вопрос 2
trapwalker
@trapwalker
Программист, энтузиаст
Ну блин. Ща формально правильное решение приведу на тупой вопрос.
Создаём тестовые "фотографии", тысячу штук:
py "(f'{i:04}.img' for i in range(1000))" | xargs -n 1 touch

А вот и наша программа:
#!/bin/bashbin
# Сама создаёт папку:
mkdir my_folder
# И переносит туда 15 фотографий:
ls *.img | head -n 15 | xargs -n 1 mv -t my_folder

Как видите всё возможно.
На какой ОС?
Пор какому принципу выбрать 15 фото из тысячи?
С каким именем создать каталог?
Что, один каталог?
Почему 15 файлов? Всегда 15? Ок, 15 так 15.
Ну что за люди, может они все телепаты, а только я один такой урод, что ситать чуджие мысли не могу на рсстоянии?

UPD.
Даже опечатки исправлять не буду. Прям до трясучки бесит вот такая постановка вопросов.
Такое ощущение, что автору лень даже свой вопрос перечитать, прежде чем запостить, а не то, что погуглить и секунду подумать!

UPD2.
Ну ок, в каментах автор вопроса обмолвился (нечаянно, похоже), что ему надо все файлы распихать по папкам по 15 штук.
Вот, держите:
ls *.img | py -l "(p.mkdir(exist_ok=1) or f.rename(p/f) for p, f in ((pathlib.Path(f'{i//15:03}'), pathlib.Path(f)) for i, f in enumerate(l)))"

Тут ls *.img перечисляет все файлы, а однострочник на питоне весь список перебирает, нумерует, создаёт N/15 каталогов (где N - общее количество файлов), и распихивает файлы по этим каталогам: с нулевого (по счету) по четырнадцатый в "000", с 15 по 29 в "001" и т.д.

UPD3.
Ну ок, для винды будет примерно так (попробовать не на чем, но должно работать):
py "(p.mkdir(exist_ok=1) or f.rename(p/f) for p, f in ((pathlib.Path(f'{i//15:03}'), pathlib.Path(f)) for i, f in enumerate(sorted(pathlib.Path('.').glob('*.img')))))"
Ответ написан
Комментировать
@Kelv13
Если для Windows, то есть такая прога FolderAxe
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы