Игорь Белый (bujhm) wrote,
Игорь Белый
bujhm

Categories:

Очистные сооружения

Запишу тут небольшую компьютерную мудрость, которая мне недавно сильно облегчила жизнь. Может, кому ещё пригодится.
История вот какая. У Гипериона есть такая известная фишка - он постоянно транслирует с веб-камеры видеопоток прямо на свой сайт. Там в окошке видно, как по залу ходят люди, листают книги, пьют чай, в общем, жизнь. В реальном времени. Кроме этого, есть ещё камеры, которые смотрят на сцену - ближняя и дальняя. Они, как зайчики, показывают всё самое интересное, что у нас на сцене происходит. И есть ещё отдельные камеры, которые ночью смотрят за порядком своими инфракрасными глазами.
Вся эта глазастая толпа старательно (чтоб не сказать маниакально) пишет всё, что видит, в свои файлы. У разных камер - разные. И на разные компы. Это, в общем, хорошо и правильно. Плоха та камера, которая этого делать не умеет.
Одна проблема. С течением времени этих файлов набиваются нечеловеческие стопки, от которых начинает трещать Проводник и страдать винт. Надо их время от времени удалять. Ходить от компа к компу и стирать. Хотя бы раз в пару месяцев.
Это, конешно, несложно. Но такое дело не должен выполнять человек, а должны вкалывать роботы по завету Сыроежкина. Если бы я был программистом, я бы не парился, а сделал за пару минут какой-нибудь искуственный разум, который бы с этим разбирался. Но я тупенький юзер. Поэтому пришлось разбаниться на Гугле и читать интернет.
Решение в три шага.

Шаг 1.
Утилита forfiles.exe
Это консольная программка, которая умеет стирать старые файлы по маске и по дате.

Она, например, запускается из такой командной строки:
forfiles /p "C:\Video\Cam1" /s /m *.* /c "cmd /c Del @path" /d -30

/p "C:\Video\Cam1" - это путь, откуда надо начинать смотреть старые файлы.
/s - означает, что надо закапываться во все внутренние папки до упора и там тоже смотреть.
/m - это маска. В данном случае маска означает "всё".
/c - это конкретный приказ удалять файлы.
/d -30 - а это важный параметр, который говорит, какой давности файлы надо убивать. Если в файле ничего не изменялось в течение 30 дней - он не жилец.

После того, как forfiles проходит по заданному пути, от всего файлового дерева остаётся только пустой папочный скелетик. Который тоже надо зачистить, но это уже forfiles не умеет. А умеет следующая утилита.

Шаг 2.
Утилита DelEmptyDir.exe
Это программка совсем простая. Она умеет делать только одно: удалять пустые папки вглубь по дереву от той точки, где запущена. И больше ничего.

И вот умудрённый юзер может теперь сделать командный bat-файл, в котором прописать запуск этих двух утилит. И там будет написано так:

forfiles /p "C:\Video\Cam1" /s /m *.* /c "cmd /c Del @path" /d -30
DelEmptyDir

А файл, скажем, назовём VideoCleanup.bat. Это обычный текстовый файл, его можно в Блокноте написать, а потом вручную изменить расширение txt на bat.

И все три этих файла -
forfiles.exe
DelEmptyDir.exe
VideoCleanup.bat -
кладём в то место, куда бешеные камеры фигачат свои видеозаписи в путаных папках.

Теперь всё можно решить простым двойным кликом по bat-файлу. Но и это человек не должен делать.

Шаг 3.
Планировщик заданий.
Эта штука, в общем, встроена в Винду - и можно задействовать её.
Но мне больше нравится другая программа - xStarter
Программа мечты, с которой любой валенок может легко почувствовать себя великими программистом. Я ей давно и с упоением пользуюсь.
И я там прописал запуск этого bat-файла, привязав его к ежедневному перезагрузу в глухой ночи.

И стало мне щастье.
Все три файла в архиве.
Tags: война с ai, мудрость
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 3 comments