Lightroom: batch-создание папок

Jan 21, 2011 20:23


В Lightroom я использую папки '_pano' для хранения панорам - каждую в своей подпапке с именем вида 'p1', 'p2' и т. п. Аналогично я поступаю для hdr, hdr-pano, анимированных серий и focus-stacking. Подробнее рабочий процесс описан  здесь и  здесь.

Проблема в том, что панорам бывает много, а Lightroom не очень удобен для быстрого создания папок. Надо ( Read more... )

lightroom, pano, hdr, лайтрум, phtg, adobe, Заметки на обрывках плёнки

Leave a comment

Comments 8

kondakoff February 22 2011, 18:45:24 UTC
Что есть - скрипт?
Для Mac Os..

Reply

akry February 22 2011, 18:50:13 UTC
Ну например что-то такое на PHP:
$count = $argv[1]; if (!$count) $count = 1;
$mode = $argv[2]; if (!$mode) $mode = 'p';

$dir = ".";
$dummypath = '/path_to_dummy/';
$dummyname = '_pano_dummy';

switch ($mode)
{
case 'hp':
case 'hdrpano':
$path = '_hdr-pano';
$prefix = 'hp';
break;

case 'h':
case 'hdr':
$path = '_hdr';
$prefix = 'h';
break;

case 's':
case 'series':
$path = '_series';
$prefix = 's';
break;

case 'p':
case 'pano':
default:
$path = '_pano';
$prefix = 'p';
break;
};

chdir ($dir);

mkdir ($path);
chdir ($path);

echo getcwd() . "\n";
echo "$count dirs, prefix '$prefix'\nStarting...\n";

for ($i = 1; $i <= $count; ++$i)
{
$newdir = $prefix . $i;
if (mkdir ($newdir)) {
echo "($i) " . $dummypath.$dummy . ' => ' . './' . $newdir . '/' . $dummyname . "\n";
copy ($dummypath.$dummyname.'.jpg', './' . $newdir . '/' . $dummyname.'.jpg');
};
}

echo "\ndone.\n";

Reply

kondakoff February 22 2011, 18:53:44 UTC
Чувствую себя полным идиотом.
Как написанное применить в LR?

Reply

akry February 22 2011, 19:04:45 UTC
Просто.
1. Скрипт записать в файл с расширением .php, скажем, «_pano.php» (поместив текст скрипта между «»).
2. Поместить его куда-нибудь в доступное место.
3. Если нужно создать директории, перейти в папку с фотками и вызвать скрипт (# php /путь_к_скрипту/_pano.php) с нужными параметрами («_pano.php pano 10» создаст 10 папок для панорам).

В принципе всё это можно было бы написать в sh, но я под виндой, а с cmd мне было возиться лень.

Reply


kondakoff February 22 2011, 19:13:40 UTC
Попробую.
Даже не подозревал что из под LR можно запустить какой либо скрипт (файл)
Буду пробовать, спасибо.

Reply

akry February 22 2011, 19:30:07 UTC
О, это не из лайтрума - запускать надо из командной строки. Кстати, идея - написать такой плагин для лайтрума.

Reply

kondakoff February 22 2011, 20:08:43 UTC
Тогда понятнее.
NC мне почти как родной..
Иду пробовать.

Reply

akry February 22 2011, 20:41:15 UTC
Тогда может быть имеет смысл сразу на bash. Навскидку что-то вроде этого:
#!/bin/bash

dummyname="_pano_dummy"
dummypath="/c/img/"
n=$2

case $1 in
'hp')
prfx="hp"
pth="_hdr-pano"
;;
'hdrpano')
prfx="hp"
pth="_hdr-pano"
;;

'h')
prfx="h"
pth="_hdr"
;;
'hdr')
prfx="h"
pth="_hdr"
;;

's')
prfx="s"
pth="_series"
;;
'series')
prfx="s"
pth="_series"
;;

'p')
prfx="p"
pth="_pano"
echo we are here
;;
'pano')
prfx="p"
pth="_pano"
;;

*)
echo "usage: _pano.sh [hdrpano|hdr|series|pano] count"
exit
;;
esac

mkdir $pth
cd $pth

pwd
echo $n dirs, prefix $prfx
echo Starting...

for ((i=1; i <= n; i++))
do
newdir=$prfx$i
mkdir $newdir
if [ !$? ]; then
echo $i $dummypath$dummyname - ./$newdir/$dummyname
cp "$dummypath$dummyname.jpg" "./$newdir/$dummyname.jpg"
fi

done

echo Done.Сделать файл _pano.sh, поместить туда этот текст, сделать файл исполняемым (chmod +x _pano.sh), поместить файл куда-то в path, чтобы из командной ( ... )

Reply


Leave a comment

Up