Так вот, я пробовал ее на 2000, XP, Vista, Windows 7 - везде идет, НО..
Но я пробовал только на американской винде, и я сильно подозреваю, что на другой локализованной версии она может не пойти. То есть сорее всего не пойдет((. Я готов сотрудничать с любым добрым челом, кто возьмется ее локализовать под Россию. Сам я этого сделать не могу по причине неимения русской винды.
Кроме того, требуется подстройка под разные цифровые камеры. В настоящий момент она распознает Olymous, Fuji, Samsung и Sony. Распознавание самое примитивное (не забывайте, что это всего лишь батник), на основе имени.
Теперь об использовании.
Сначала делаете отдельный каталог и скачиваете туда все картинки с вашей карты (CF, SD, MS, xD или что там у вас..). Желательно, чтоб в этом каталоге не было других файлов (распознавание может ошибиться). Сам скрипт может лежать в любой директории, к которой прописан путь. У меня он называется dc2pc (digital camera to PC), рекомендую использовать это же название. Запуск без параметров выдает подсказку:
Код
P:\pix\ak\09\e_may\17>dc2pc
usage: dc2pc suffix - choose a descriptive and short enough "suffix"
or: dc2pc undo - the undo file must exist
example: dc2pc _Big-Ben_ - transferred to: 05h012_Big-Ben_001 ...
months marked with letters: a - January, b - February, .. , l - December
usage: dc2pc suffix - choose a descriptive and short enough "suffix"
or: dc2pc undo - the undo file must exist
example: dc2pc _Big-Ben_ - transferred to: 05h012_Big-Ben_001 ...
months marked with letters: a - January, b - February, .. , l - December
Параметр всего один - желаемый суффикс, полностью, например: _KateBirthd_ . Обратите внимание на символы подчеркивания, с ними удобнее читать название. Скрипт произведет поиск картинок и скажет результат, а также спросит, нужно ли продолжать:
Код
P:\pix\ak\09\e_may>dc2pc _test_
No pictures found
No pictures found
Либо:
Код
P:\pix\ak\09\e_may\17>dc2pc _test_
Found 27 Sony pictures. Proceed? (Y/whatever) y
Found 27 Sony pictures. Proceed? (Y/whatever) y
В процессе работы создается файл с информацией для UNDO. Если, например, вам не понравилось название, вы можете вернуть все назад:
Код
P:\pix\ak\09\e_may\17>dc2pc undo
Undoing dc2pc ...
... done! Check it and remove dc2pc.undo file
Undoing dc2pc ...
... done! Check it and remove dc2pc.undo file
После этого желательно вручную удалить undu-файл.
Файлы называются такаим образом:
YYmDDsuffixNNN
YY - год, типа 09
m - месяц, латинская буква: a - январь, b - февраль ... k - ноябрь, l - декабрь.
DD - день, типа 25
suffix - то, что вы задали
NNN - номер. У меня пока больше 999 не было за один раз..))
Такое соглашение о наименовании очень эффективно. Сортировка по дате и номеру кадра обеспечена. Я использую ее много лет. Плюс к тому систему директорий, ессно, если интересно, могу подробнее.
Короче, получается примерно так:
Код
.. │ Up │06/01/09│03:35
09e17_test_001 JPG│2099 K│05/17/09│17:38
09e17_test_002 JPG│2154 K│05/17/09│17:38
09e17_test_003 JPG│2461 K│05/17/09│17:39
09e17_test_004 JPG│1749 K│05/17/09│17:39
09e17_test_005 JPG│1794 K│05/17/09│17:39
09e17_test_006 JPG│1656 K│05/17/09│17:39
09e17_test_007 JPG│2516 K│05/17/09│17:58
09e17_test_008 JPG│2807 K│05/17/09│17:59
09e17_test_009 JPG│2564 K│05/17/09│17:59
09e17_test_010 JPG│2715 K│05/17/09│17:59
09e17_test_011 JPG│2843 K│05/17/09│17:59
09e17_test_012 JPG│2430 K│05/17/09│17:59
09e17_test_013 JPG│2762 K│05/17/09│18:00
09e17_test_014 JPG│2954 K│05/17/09│18:00
09e17_test_015 JPG│2556 K│05/17/09│18:01
09e17_test_016 JPG│2478 K│05/17/09│18:01
09e17_test_017 JPG│2605 K│05/17/09│18:01
09e17_test_018 JPG│3424 K│05/17/09│18:06
09e17_test_019 JPG│3422 K│05/17/09│18:06
09e17_test_020 JPG│3419 K│05/17/09│18:06
09e17_test_021 JPG│3310 K│05/17/09│18:06
09e17_test_022 JPG│3120 K│05/17/09│18:06
09e17_test_023 JPG│3231 K│05/17/09│18:07
09e17_test_024 JPG│3298 K│05/17/09│18:07
09e17_test_025 JPG│3559 K│05/17/09│18:07
09e17_test_026 JPG│3189 K│05/17/09│18:07
09e17_test_027 JPG│3039 K│05/17/09│18:07
dc2pc tmp│ 1080│06/01/09│03:35
dc2pc undo│ 918│06/01/09│03:35
09e17_test_001 JPG│2099 K│05/17/09│17:38
09e17_test_002 JPG│2154 K│05/17/09│17:38
09e17_test_003 JPG│2461 K│05/17/09│17:39
09e17_test_004 JPG│1749 K│05/17/09│17:39
09e17_test_005 JPG│1794 K│05/17/09│17:39
09e17_test_006 JPG│1656 K│05/17/09│17:39
09e17_test_007 JPG│2516 K│05/17/09│17:58
09e17_test_008 JPG│2807 K│05/17/09│17:59
09e17_test_009 JPG│2564 K│05/17/09│17:59
09e17_test_010 JPG│2715 K│05/17/09│17:59
09e17_test_011 JPG│2843 K│05/17/09│17:59
09e17_test_012 JPG│2430 K│05/17/09│17:59
09e17_test_013 JPG│2762 K│05/17/09│18:00
09e17_test_014 JPG│2954 K│05/17/09│18:00
09e17_test_015 JPG│2556 K│05/17/09│18:01
09e17_test_016 JPG│2478 K│05/17/09│18:01
09e17_test_017 JPG│2605 K│05/17/09│18:01
09e17_test_018 JPG│3424 K│05/17/09│18:06
09e17_test_019 JPG│3422 K│05/17/09│18:06
09e17_test_020 JPG│3419 K│05/17/09│18:06
09e17_test_021 JPG│3310 K│05/17/09│18:06
09e17_test_022 JPG│3120 K│05/17/09│18:06
09e17_test_023 JPG│3231 K│05/17/09│18:07
09e17_test_024 JPG│3298 K│05/17/09│18:07
09e17_test_025 JPG│3559 K│05/17/09│18:07
09e17_test_026 JPG│3189 K│05/17/09│18:07
09e17_test_027 JPG│3039 K│05/17/09│18:07
dc2pc tmp│ 1080│06/01/09│03:35
dc2pc undo│ 918│06/01/09│03:35
Забавно - вроде все и несложно, а инструкция вышла ого-го!))
Добавлено через 6 мин.
Классно - а сам скрипт забыл положить)).
Вот он:
dc2pc.bat
Код
@ECHO Off
rem dc2pc
rem Tool to rename files taken from digital camera
rem Written by Lapp from ForumAllAboutPascal
rem 1.0, Jan 28/05
rem 1.1, May 04/05 multicamera support added
SET sign=dc2pc.sign
IF %6a==%sign%a GOTO loop3
IF %4a==%sign%a GOTO loop2
IF %3a==%sign%a GOTO loop1
IF %1a==a GOTO error
SET undo=dc2pc.undo
IF /I %1==undo GOTO undo
SET tmp=dc2pc.tmp
SET month=a b c d e f g h i j k l
IF EXIST %undo% GOTO :undoexists
SET suffix=%1
SET num=0
SET nn=0
SET found=0
CALL %0 Olympus p???????.* %sign%
IF %nn%==0 CALL %0 Fuji DSCF????.* %sign%
IF %nn%==0 CALL %0 Canon ???_????.* %sign%
IF %nn%==0 CALL %0 Samsung sd??????.* %sign%
IF %nn%==0 CALL %0 Sony DSC?????.* %sign%
IF %found%==0 ECHO No pictures found
GOTO end
:loop1
IF EXIST %tmp% DEL %tmp%
FOR %%i IN (%2) DO (
ECHO %%i %%~xi %%~ti >> %tmp%
SET /A nn=%nn + 1
)
IF %nn%==0 GOTO END
SET found=1
SET /P yn=Found %nn% %1 pictures. Proceed? (Y/whatever)
IF /I %yn%a==ya (
FOR /F "tokens=1-3" %%i IN (%tmp%) DO CALL %0 %%i %%j %%k %sign%
) ELSE SET nn=0
GOTO end
:loop2
SET /A num=%num% + 1
IF %num% LSS 10 (
SET z=00
) ELSE IF %num% LSS 100 (
SET z=0
) ELSE SET z=
FOR /F "tokens=1-3 delims=/" %%l IN ("%3") DO CALL %0 %1 %2 %%l %%m %%n %sign%
GOTO end
:loop3
IF %5 GEQ 2000 (
SET /a year=%5 - 2000
) ELSE SET year=%5
IF %year% LSS 10 SET year=0%year%
SET /A mo=1%3-100
FOR /F "tokens=%mo%" %%o IN ("%month%") DO (
ECHO %1 %year%%%o%4%suffix%%z%%num%%2 >> %undo%
REN %1 %year%%%o%4%suffix%%z%%num%%2
)
GOTO end
:undo
IF EXIST %undo% (
ECHO Undoing dc2pc ...
FOR /F "tokens=1,2" %%i IN (%undo%) DO REN %%j %%i
ECHO ... done! Check it and remove %undo% file
) ELSE ECHO No undo file %undo% found!
GOTO end
:error
ECHO usage: dc2pc suffix - choose a descriptive and short enough "suffix"
ECHO or: dc2pc undo - the undo file must exist
ECHO example: dc2pc _Big-Ben_ - transferred to: 05h012_Big-Ben_001 ...
ECHO months marked with letters: a - January, b - February, .. , l - December
GOTO end
:undoexists
ECHO undo file %undo% already exists!
:end
rem dc2pc
rem Tool to rename files taken from digital camera
rem Written by Lapp from ForumAllAboutPascal
rem 1.0, Jan 28/05
rem 1.1, May 04/05 multicamera support added
SET sign=dc2pc.sign
IF %6a==%sign%a GOTO loop3
IF %4a==%sign%a GOTO loop2
IF %3a==%sign%a GOTO loop1
IF %1a==a GOTO error
SET undo=dc2pc.undo
IF /I %1==undo GOTO undo
SET tmp=dc2pc.tmp
SET month=a b c d e f g h i j k l
IF EXIST %undo% GOTO :undoexists
SET suffix=%1
SET num=0
SET nn=0
SET found=0
CALL %0 Olympus p???????.* %sign%
IF %nn%==0 CALL %0 Fuji DSCF????.* %sign%
IF %nn%==0 CALL %0 Canon ???_????.* %sign%
IF %nn%==0 CALL %0 Samsung sd??????.* %sign%
IF %nn%==0 CALL %0 Sony DSC?????.* %sign%
IF %found%==0 ECHO No pictures found
GOTO end
:loop1
IF EXIST %tmp% DEL %tmp%
FOR %%i IN (%2) DO (
ECHO %%i %%~xi %%~ti >> %tmp%
SET /A nn=%nn + 1
)
IF %nn%==0 GOTO END
SET found=1
SET /P yn=Found %nn% %1 pictures. Proceed? (Y/whatever)
IF /I %yn%a==ya (
FOR /F "tokens=1-3" %%i IN (%tmp%) DO CALL %0 %%i %%j %%k %sign%
) ELSE SET nn=0
GOTO end
:loop2
SET /A num=%num% + 1
IF %num% LSS 10 (
SET z=00
) ELSE IF %num% LSS 100 (
SET z=0
) ELSE SET z=
FOR /F "tokens=1-3 delims=/" %%l IN ("%3") DO CALL %0 %1 %2 %%l %%m %%n %sign%
GOTO end
:loop3
IF %5 GEQ 2000 (
SET /a year=%5 - 2000
) ELSE SET year=%5
IF %year% LSS 10 SET year=0%year%
SET /A mo=1%3-100
FOR /F "tokens=%mo%" %%o IN ("%month%") DO (
ECHO %1 %year%%%o%4%suffix%%z%%num%%2 >> %undo%
REN %1 %year%%%o%4%suffix%%z%%num%%2
)
GOTO end
:undo
IF EXIST %undo% (
ECHO Undoing dc2pc ...
FOR /F "tokens=1,2" %%i IN (%undo%) DO REN %%j %%i
ECHO ... done! Check it and remove %undo% file
) ELSE ECHO No undo file %undo% found!
GOTO end
:error
ECHO usage: dc2pc suffix - choose a descriptive and short enough "suffix"
ECHO or: dc2pc undo - the undo file must exist
ECHO example: dc2pc _Big-Ben_ - transferred to: 05h012_Big-Ben_001 ...
ECHO months marked with letters: a - January, b - February, .. , l - December
GOTO end
:undoexists
ECHO undo file %undo% already exists!
:end
Enjoy, как грится!