Облегчаем себе блоггинг: автоматизация работы с картинками – часть 1 (nncron)

Описываю как сделать вот такое. Намного проще заниматься блоггингом, когда рутинные вещи происходят автоматически, сами собой.

Для начала установим nncron


Лирику можно пропускать и переходить к отдельно отмеченной части поста ниже.

Мне могут возразить, что windows7, к примеру, имеет неплохой собственный планировщик с богатыми возможностями. Но он мне не нравится. Я подозреваю, что ресурсы кушаются, удобство создания новых задач … на любителя. И т.д. Кроме того многие вещи не возможны в принципе (без достаточно высококвалифицированного вмешательства) …

Есть еще один вариант xStarter. Я опишу этот вариант позже. Проще для неподготовленного пользователя, чем nncron, но ресурсов кушает больше и надёжность ниже. О нём я тоже писал (http://vdas NULL.livejournal NULL.com/3787858 NULL.html)

Итак nncron. Это замечательный планировщик, который может помочь вам автоматизировать очень многгие процессы, которые компьютер может выполнять сам.

Например –

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

    nncron отличается тем, что

  • очень надёжен (проверено годами использования). Кроме того в памяти постоянно висит специальная крохотная программулька, которая отслеживает, если он подвис и перезапускает.
  • ест очень мало ресурсов – ~140-180 КИЛО (!!!) байт
  • легко решает огромное количество задач, даже без программирования. А немного попрограммировав – можно сделать почти всё что угодно. Отличная документация на русском и английском, огромное количество примеров.
  • Бесплатен для xUSSR
  • Мой первый пост (http://vdas NULL.livejournal NULL.com/1266980 NULL.html) о нём написан 110 недель назад и я до сих пор в восторге… В нём подробнее про плюсы. Активно ежедневно использую.

  • Практическая часть

    Мы его сейчас установим для следующего: nncron будет следить за директорией и если в ней появится какой-нибудь файл – она спросит хотим ли мы его обработать и если да – запустит программу конвертора.

    Установка для Win7 \ Vista и WinXP отличается. Дело в том, что система безопасности Win7 не позволяет крону работать как сервису. Приходится запускать его как приложение…

    Качаем:
    для winXP (879k)
    для Vista \ Win7 – nncron - Установка nncron для Vista \ Win7 (или более новая версия, но я её пока не пробовал сам nncron - Установка nncron для Vista \ Win7)

    Устанавливаем, запускаем. В случае Vista \ Win7 запускать НЕ как сервис.

    Справа внизу появится иконка nncron. Теперь надо его зарегистрировать.

    nnCron бесплатен для граждан стран бывшего СССР при условии частного и некоммерческого использования. Чтобы заpегистpиpовать nnCron для частного, некоммерческого использования, пеpейдите в его домашний каталог и запустите пpогpамму tm.exe с параметром xReg:

    tm.exe xReg
    В появившемся окошке введите xUSSR регистрация в качестве имени и текущий день недели (по-pусски) вместо паpоля.

    Если вы используете локализованный (русский) интерфейс nnCron, то вместо командной строки можете воспользоваться пунктом меню “Зарегистрировать nnCron” (щелчок правой кнопкой мыши на иконке nnCron в системном трее). Имя и пароль – те же.

    После регистрации никаких ограничений, напоминаний и т.д. не будет… Если непонятно – спросите, я распишу как это сделать в картинках.

    Пока еще рано, ног чтобы поиграться – настроим задачу:

    (http://host NULL.vdasus NULL.com/nn1 NULL.png)

    Настраиваем – задать название задачи(любое), запускать задачу по событию, если изменилась директория, указать желаемую директорию…
    (http://host NULL.vdasus NULL.com/nn2 NULL.png)

    Задаём какую программу запустить, если в директории появится файл
    (http://host NULL.vdasus NULL.com/nn3 NULL.png)

    Можно задать дополнительное условие…
    (http://host NULL.vdasus NULL.com/nn4 NULL.png)

    Смотрим получившийся код. Он очень простой и его можно поправить если что…
    (http://host NULL.vdasus NULL.com/nn5 NULL.png)

    Нажимаем Ок и задача начинает работать… Можете поиграться с разными задачами.

    Можно все кнопочки не нажимать, а сразу писать (или копировать) код. Можете полистать help – он очень понятно написан с множеством примеров. Лежит примерно вот тут: “C:\Program Files\nnCron\doc\help.chm”

    Есть русский вариант help – тут

    Завтра настроим конвертер и можно будет пользоваться…

    К примеру мой (временный, на скорую руку) код выглядит вот так:

    #( vdasus.4pic
    NoLog ;' не вести лог
    SingleInstance ;' Пока задача работает на запускать её еще раз - надо, чтобы не сработала на появление thumbnail
    WatchDir: "D:\4Pics\" ;' Смотреть директорию
    Action:
        RECURSIVE FILESONLY SKIPERRORS ;' Если задача запустилась - найти все появившиеся файлы
        FOR-FILES: "D:\4Pics\*"
            RE-MATCH: "%FOUND-FILENAME%" "/\b(th_)?!\w+\.((gif)|(jpeg)|(jpg)|(png)|(ico)|(bmp))/i" ;' Если есть файлы - картинки
            IF
               ShowMinimized NormalPriority
               QSTART-APPW: "C:\Program Files\_APP\vdush2\vdushc2.exe" %FOUND-FULLPATH% ;' Запустить программу конвертора для каждого
    WIN-ACTIVATE: "Semagic" ;' Активировать приложение Semagic
    SEND-KEYS: "^v{ENTER}"  ;' Послать туда Ctrl+V (Edit \ Paste)
               ShowNormal NormalPriority ;' Положить через ftp на хостинг
               START-APPW: winscp.exe /console /command "open ftp://zzzz@zzz:pass@hosting.com" "option transfer binary" "put %FOUND-FULLPATH%" "exit"
            THEN
        ;FOR-FILES
        RECURSIVE FILESONLY SKIPERRORS
        FOR-FILES: "D:\4Pics\*"
            RE-MATCH: "%FOUND-FILENAME%" "/th_\w+\.((gif)|(jpeg)|(jpg)|(png)|(ico)|(bmp))/i" ;' Найти появившиеся файлы thumbnail
            IF
               ShowNormal NormalPriority ;' Положить через ftp на хостинг
               START-APPW: winscp.exe /console /command "open ftp://zzzz@zzz:pass@hosting.com" "option transfer binary" "put %FOUND-FULLPATH%" "exit"
            THEN
        ;FOR-FILES
    )#

    Не пугайтесь – вам не надо будет писать это самим :) Надо будет только подправить пару параметров…

    Завтра остальное :) Просто попробуйте – это не так сложно, как выглядит… После завтрашней настройки увидите как это просто. Пока просто установите и зарегистрируйте nncron…