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

25.02.15

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

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Исходные файлы и скомпилированные утилиты
.zip 3,19Mb
0 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

 

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

 

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

Вступайте в нашу телеграмм-группу Инфостарт

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

См. также

SALE! %

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

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

16500 15500 руб.

02.09.2020    230041    1254    415    

1087

Инструментарий разработчика Перенос данных 1C Программист 1С:Предприятие 8 Платные (руб)

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

5000 руб.

24.09.2019    27122    22    16    

40

Инструментарий разработчика Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

6000 руб.

07.02.2018    110024    250    104    

315

Инструментарий разработчика Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Если вашим пользователям нужно вывести в динамический список разные показатели, которые нельзя напрямую получить из таблиц ссылочных объектов, и вы не хотите изменять структуру справочников или документов - тогда эта подсистема для вас. С помощью нее вы сможете в пользовательском режиме создать свой показатель, который будет рассчитываться по формуле или с помощью запроса. Этот показатель вы сможете вывести в динамический список, как любую другую характеристику объекта. Также можно будет настроить отбор или условное оформление с использованием созданного показателя.

2 стартмани

06.03.2021    15765    9    pila86    17    

30

Инструментарий разработчика Программист 1С:Предприятие 8 Бесплатно (free)

Описание файла DBNames таблицы Params и файлов объектов метаданных таблицы Config.

16.02.2021    25310    zhichkin    82    

97

Инструментарий разработчика Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Данная публикация является продолжением описания функционирования обработки "FormCodeGenerator " в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.

5 стартмани

21.12.2020    21693    34    huxuxuya    11    

38

Инструментарий разработчика Программист 1С:Предприятие 8 Бесплатно (free)

DaJet Studio - разработка и управление скриптами, хранимыми процедурами и функциями, написанными на расширенном языке запросов 1С, а также очередями сообщений и web сервисами, основанными на использовании Microsoft SQL Server.

10.11.2020    16439    158    zhichkin    16    

28
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 212 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 212 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 212 26.08.15 17:11 Сейчас в теме
(5) ya.Avoronov,
Здесь нет упоминания 1C так как заметка для раздела администрирования (сервисные утилиты). По сути это скрипт, запускаемый системой по расписанию, написанный для снятия определенной проблемы - очистки корзин дисков сервера для файловой конфигурации. Не обязательно все решать средствами языка платформы 1С - иногда проще это сделать по другому: вот товарищ в комментариях предлагает иное решение. AutoIT позволяет получить скомпилированный EXE-файл с "зашитыми" внутри него параметрами запуска - готовое решение без всякой командной строки.
7. viptextil 42 04.04.16 12:34 Сейчас в теме
(3) vcv,
Я категорически не против AutoIT. Если он есть и умеете им пользоваться, да на здоровье! Но, решать примитивную админскую задачу на нештатном и не самом распространённом админском инструменте, считаю излишеством. Есть штатный batch. Есть практически штатный powershell. Есть штатный Windows Script Host. На худой конец есть практически штатный .NET Framework, в котором встроенный компилятор vbc.exe.
Мне это всё кажется более подходящим инструментом для более-менее тиражного решения (если уж опубликовано для общего обозрения).


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

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