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

Шаг 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-файла, привязав его к ежедневному перезагрузу в глухой ночи.

И стало мне щастье.
Все три файла в архиве.
This account has disabled anonymous posting.
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

July 2025

S M T W T F S
  12 34 5
678910 1112
1314151617 1819
20212223242526
2728293031  
Page generated 30/7/25 20:34

Expand Cut Tags

No cut tags