Утилита на AutoIT для выборочной очистки «корзин» дисков компьютера.

25.02.15

Разработка - Инструментарий разработчика

Часто ли Вы заглядываете в "корзины" жестких дисков, или это происходит только тогда, когда на машине не хватает свободного места? А если из-за нехватки свободной дисковой памяти будет нарушена работа системы? Ниже предлагается одно из решений по очистке "корзин" жестких дисков  с ограничениями на размер удаляемых файлов.

Скачать файлы

Наименование Файл Версия Размер
Исходные файлы и скомпилированные утилиты
.zip 3,19Mb
0
.zip 3,19Mb Скачать

Поводом для написания программы послужил случай у клиента, когда вечерний бэкап файловой базы данных 1с не был выполнен из-за большого совокупного размера файлов баз (упакованный архив занимал более 8 Гб) и вследствие этого - отсутствие свободного места на диске, так как копии архивных данных хранились за  несколько дней, и хотя программа создания архивных копий следила за их количеством в каталоге архива, старые копии она отправляла в корзину. Пока на диске было место, и корзина периодически чистилась вручную администратором, проблем не было. Но как только администратор в какой-то момент не выполнил  регламентных действий по очистке корзины – проблемы возникли. Появилось желание автоматизировать очистку корзины диска с условием удаления архивных файлов, размер которых превышает определенную величину (удаление файлов больше заданного размера).

Можно было, конечно, воспользоваться простейшими скриптами, очищающими всю корзину или файлы по шаблону. Но хотелось «точечно» удалять файлы архивов, не затрагивая интересы других пользователей, тем более, что под рукой был ранее написанный скрипт, очищающий каталоги файлового хранилища системы наблюдения, который удалял файлы старше определенной даты. Алгоритм работы скрипта прост – по сути это рекурсивный обход всех каталогов «корзин» указанных дисков. В коде AutoIT он выглядит следующим образом:

 

Полные тексты программ и откомпилированные модули для 64-х и 32-х  версий приведены во вложении. Там представлен универсальный вариант (для Windows XP и Windows 7-2008) с возможностью задавать параметры в командной строке.

 

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

очистка корзины бэкап

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122159    670    389    

714

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 15300 руб.

06.10.2023    7293    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3537    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177749    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99347    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18113    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28110    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23602    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. vcv 89 25.02.15 10:49 Сейчас в теме
А почему бы не сделать примитивно:

pushd f:\$recycle.bin
del /S /F /Q *.rar
del /S /F /Q *.zip
popd

Или так

forfiles /S /M *.zip /D -1 /P f:\$recycle.bin /C "cmd /c del @path"
forfiles /S /M *.rar /D -1 /P f:\$recycle.bin /C "cmd /c del @path"

и удалятся в корзине все zip и rar вчерашние и старее.

jobkostya1c_ERP; +1 Ответить
2. LexSeIch 210 25.02.15 11:36 Сейчас в теме
(1) vcv,
Внимательно читайте заметку - там же написано, что простые скрипты не использовались, так как не было нужды удалять ВСЕ файлы, а только определенные - больших размеров... В Вашем варианте удаляется все содержимое с заданным расширением... Кроме того, чистка делается по ВСЕМ дискам... Когда в корзине лежат файлы разных пользователей - надо действовать осмотрительно.
3. vcv 89 25.02.15 13:49 Сейчас в теме
Внимательно читайте заметку - там же написано, что простые скрипты не использовались, так как не было нужды удалять ВСЕ файлы, а только определенные - больших размеров...

да пожалуйста
@echo off
for /F "tokens=3" %%i in ('echo list volume ^| diskpart ^| findstr "NTFS"') do (
  pushd "%%i:\$recycle.bin"
  for /R %%j in (*.zip) do if %%~zj gtr 8388608000 del /F /Q %%~fj
  for /R %%j in (*.rar) do if %%~zj gtr 8388608000 del /F /Q %%~fj
  popd
)

Кроме того, чистка делается по ВСЕМ дискам...

Где? На скриншоте наглухо прописан путь f:\$recycle.bin

Я категорически не против AutoIT. Если он есть и умеете им пользоваться, да на здоровье! Но, решать примитивную админскую задачу на нештатном и не самом распространённом админском инструменте, считаю излишеством. Есть штатный batch. Есть практически штатный powershell. Есть штатный Windows Script Host. На худой конец есть практически штатный .NET Framework, в котором встроенный компилятор vbc.exe.
Мне это всё кажется более подходящим инструментом для более-менее тиражного решения (если уж опубликовано для общего обозрения).

Но это всё, естественно, личное мнение. Никому не навязываю.
Засим разрешите откланяться. Поводов для дискуссии тут более не наблюдается.
viptextil; +1 Ответить
4. LexSeIch 210 27.02.15 16:09 Сейчас в теме
(3) vcv,
Нисколько не сомневаюсь в Вашей компетентности и уважаю Ваше мнение... Даже выражаю Вам благодарность за комментарии - кому то больше понравиться Ваше решение... Но не все такие продвинутые... Да и штатные средства на разных машинах разные (запустите Ваш скрипт на XP или W2003)... Вы же не скачивали прикрепленный архив и не смотрели что в нем? Там как раз и лежит универсальное решение - скомпилированная утилита поддерживающая разные типы операционных систем (XP, W2003, W7, W2008), с возможностью задания параметров: расширения архивов и ограничения по размеру, выбора диска - это для тех, кто хочет просто получить результат (все в исходниках и скомпилированных для 32-х и 64-х разрядных систем)... Что касается AutoIT, то лично для меня - приятней и понятней алгоритмы описанные на нем. И я считаю, что он отлично подходит и понятен тем, кто программирует на 1С платформе.
5. ya.Avoronov 115 26.08.15 12:12 Сейчас в теме
(4) долго вчитывался и не смог понять причем тут 1С, если только косвенно как программа требующая свободное пространство время от времени.
А возможно реализовать эти алгоритмы на языке 1С? Написать обработку, где можно ставить крыжики и настраивать параметры персонально. А то вот передавать параметры в командной строке для меня не наглядно и не удобно, консольный режим 1Совцам не знаком.
6. LexSeIch 210 26.08.15 17:11 Сейчас в теме
(5) ya.Avoronov,
Здесь нет упоминания 1C так как заметка для раздела администрирования (сервисные утилиты). По сути это скрипт, запускаемый системой по расписанию, написанный для снятия определенной проблемы - очистки корзин дисков сервера для файловой конфигурации. Не обязательно все решать средствами языка платформы 1С - иногда проще это сделать по другому: вот товарищ в комментариях предлагает иное решение. AutoIT позволяет получить скомпилированный EXE-файл с "зашитыми" внутри него параметрами запуска - готовое решение без всякой командной строки.
7. viptextil 41 04.04.16 12:34 Сейчас в теме
(3) vcv,
Я категорически не против AutoIT. Если он есть и умеете им пользоваться, да на здоровье! Но, решать примитивную админскую задачу на нештатном и не самом распространённом админском инструменте, считаю излишеством. Есть штатный batch. Есть практически штатный powershell. Есть штатный Windows Script Host. На худой конец есть практически штатный .NET Framework, в котором встроенный компилятор vbc.exe.
Мне это всё кажется более подходящим инструментом для более-менее тиражного решения (если уж опубликовано для общего обозрения).


Подпишусь под каждым словом.

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