Это для Windows, но я мог бы запустить виртуальный клиент Linux, если есть отличное решение не в Windows.

У меня есть основная коллекция фотографий, и мне нужно, чтобы она автоматически синхронизировалась с копией уменьшенного размера для просмотра на других более медленных устройствах.

Как мне этого добиться?

1 ответ1

0

Если вы довольны решением Linux, то это сделает это:

#!/bin/bash

FULLSIZE=/path/to/photos
SMALLSIZE=/path/to/smallphotos  # do not locate within FULLSIZE directory
MAXWIDTH=1024
MAXHEIGHT=768

cd $FULLSIZE
find . -name '*.jpg' -exec if [ ! -f  $SMALLSIZE{} ] then; do convert -resize $MAXWIDTHx$MAXHEIGHT $FULLSIZE{} $SMALLSIZE{} ; done \;

Таким образом, этот скрипт ищет все файлы в каталоге FULLSIZE и ниже. Он использует if, чтобы проверить, существует ли файл с таким же именем в SMALLSIZE , и, если нет, использует команду imagemagick convert чтобы изменить размер изображения, чтобы поместить его в поле MAXWIDTH wide и MAXHEIGHT high, и поместить его в каталог SMALLSIZE ,

Извините, у меня не было времени протестировать скрипт, надеюсь, он не содержит ошибок.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .