Как удалить файлы старше определенной даты в bat файле

Скрипт удаления файлов старше N дней

Опубликовано muff в Пт, 2015-03-06 19:08

Для бекапирования данных можно использовать как специализированное ПО, так и самописные скрипты.

В случае использования самописных скриптов, возникает необходимость периодически удалять архивы бекапов. Однако и этот процесс можно автоматизировать.

Попытаемся максимально приблизить условия к боевым.

Итак, имеется в наличии сервер, на котором в родительском каталоге (например, /backup) созданы подкаталоги, для хранения бекапов в зависимости от типа содержимого:

  • конфигурации маршрутизаторов
  • конфигурации коммутаторов
  • конфигурации серверов
  • данные с серверов
  • т.д.

Логика написания скрипта состоит в следующем. В зависимости от типа содержимого, скорости устаревания данных, доступного дискового пространства и т.д, выбираем оптимальное время хранения бекапов в каталогах. После этого необходимо «пройтись» по каталогах и удалить все файлы, которые созданы более чем N дней назад.

Для поиска файлов, которые созданы более чем N дней назад, воспользуемся возможностями утилиты find.

Допустим, необходимо найти в каталоге все файлы, созданные более 25 дней назад:

# find /backup/jun -type f -mtime +25
/backup/jun/juniper.conf.gz_20150209_141842
/backup/jun/juniper.conf.gz_20150209_142441
/backup/jun/juniper.conf.gz_20150209_142733
/backup/jun/juniper.conf.gz_20150209_151936
/backup/jun/juniper.conf.gz_20150209_152555
/backup/jun/juniper.conf.gz_20150209_173457

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

find /backup/jun -type f -mtime +25 -exec rm -f {} \;

 Либо же такую:

find /backup/jun -type f -mtime +25 -print0 | xargs -0 rm -f

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

#!/bin/sh# Путь к утилите поиска
FIND="/usr/bin/find"
# Путь к утилите удаления
RM="/bin/rm"
# Путь к утилите xargs
XARGS="/usr/bin/xargs"

# Список каталогов с архивами бекапов
PATH1="/backup/jun"
PATH2="/backup/sw"

# Время хранения файлов (в днях)
TIME1="25"
TIME2="60"

# Перебираем каталоги и удаляем устаревшие бекапы
$FIND $PATH1 -type f -mtime +$TIME1 -print0 | $XARGS -0 $RM -f
$FIND $PATH2 -type f -mtime +$TIME2 -print0 | $XARGS -0 $RM -f

Назовем его, например, remove_old_backups.sh и запустим на выполнение:

# sh /usr/local/etc/remove_old_backups.sh

После этого проверим наличие файлов старше 25 дней в каталоге /backup/jun:

# find /backup/jun -type f -mtime +25

Таких файлов не обнаружено. А вот, для примера, файлы старше 20 дней — присутствуют:

# find /backup/jun -type f -mtime +20
/backup/jun/juniper.conf.gz_20150210_124853
/backup/jun/juniper.conf.gz_20150212_145222
/backup/jun/juniper.conf.gz_20150212_151451
/backup/jun/juniper.conf.gz_20150212_151608
/backup/jun/juniper.conf.gz_20150213_033623
/backup/jun/juniper.conf.gz_20150213_033643
/backup/jun/juniper.conf.gz_20150213_033751
/backup/jun/juniper.conf.gz_20150213_113431

Скрипт работает… Модифицируем под свои нужды и пользуемся.

По завершению редактирования, в целях безопасности, выставим необходимые права и разшешения (у меня файлы архивов пишутся от имени пользователя proftpd):

# chown proftpd:proftpd /usr/local/etc/remove_old_backups.sh
# chmod 700 /usr/local/etc/remove_old_backups.sh

Ну и не забываем добавить ежедневный запуск скрипта в планировщик заданий:

# echo ‘# Clear old backups’ >> /etc/crontab
# echo ‘2       6       *       *       *       proftpd    /bin/sh /usr/local/etc/remove_old_backups.sh’ >> /etc/crontab

ФОРМИРУЕМ И СИСТЕМАТИЗИРУЕМ ДЕЛА И ДОКУМЕНТЫ

Особенности формирования дел

Подготовка дела к хранению начинается задолго до того, как документ будет завершен в делопроизводстве. Все процессы ДОУ выполняются последовательно и связаны между собой.

Обратите внимание

Уже на стадии приема входящего документа или создания исходящего нужно понимать, в какое дело будет помещен документ и каковы особенности формирования этого дела.

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

Что касается переписки, то она должна формироваться по принципу «запрос­-ответ», когда каждое поступившее или отправляемое письмо подшивается в дело согласно своему вопросу, а не по виду (входящее или исходящее). Делать это нужно сразу, иначе, когда придет пора отправлять дела на хранение, секретарь потратит огромное количество времени на формирование истории переписки.

Способы систематизации документов

Документы в деле могут быть систематизированы:

Хронологически, то есть по времени создания. Как правило, в таких делах документы располагаются строго по регистрационным номерам, например:

Документ и его регистрационные данные

Номер листа дела (тома)

Приказ от 12.01.2015 №1

1

Приказ от 13.01.2015 №2

2

Приказ от 13.01.2015 №3

3

Приказ от 16.01.2015 №4

4

Приказ от 19.01.2015 №5

5

По алфавиту – например, фамилий или наименований проектов:

Документ и его регистрационные данные

Номер листа дела (тома)

Проект «Астра»

1-10

Проект «Василек»

11-20

Проект «Гладиолус»

21-30

Проект «Колокольчик

31-40

Проект «Мимоза»

41-50

Комбинированным способом – сначала документы выстраивают в алфавитном порядке, а затем еще и хронологически, например:

Документ и его регистрационные данные

Номер листа дела (тома)

Переписка с ООО «Астра»

Лист­разделитель

1

Исх. № 53 от 14.01.2015

2–4

Вх. № 243 от 16.01.2015

5–9

Исх. № 105 от 23.01.2015

10

Вх. № 341 от 28.01.2015

11

Переписка с ООО «Василек»

Лист­разделитель

12

Вх. № 14 от 12.01.2015

13–14

Исх. № 18 от 13.01.2015

15

Вх. № 201 от 15.01.2015

16

Документы, разделенные на блоки по алфавиту, отделяют друг от друга, например, цветными разделителями. Это необязательно, но существенно облегчает работу с томом. При нумерации листов разделители получают номера в общем порядке.

Таким образом, к моменту оформления дел на хранение документы уже будут правильно сформированы в дела, а внутри дел – систематизированы.

Как использовать Task Scheduler для автоматического удаления файлов старше X дней в Windows 10

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

Если вы хотите автоматизировать процесс, вам нужно использовать планировщик задач в Windows 10, чтобы создать задачу, которая выполняет команду с заданными интервалами.

Чтобы создать запланированное задание с помощью команд ForFiles для удаления файлов, которые не изменились за некоторое время, выполните следующие действия:

  1. Откройте Пуск.
  2. Найдите планировщик заданий и нажмите на верхний результат, чтобы открыть опыт.
  3. Щелкните правой кнопкой мыши папку «Библиотека планировщика заданий».
  4. Нажмите «Новая папка».
  5. Введите любое имя для папки и нажмите ОК. (Мы создаем новую папку, чтобы задачи были организованы и отделены от системных задач.)
  6. Щелкните правой кнопкой мыши недавно созданную папку и выберите параметр «Создать задачу».
  7. В поле «Имя» введите имя для задачи.
  8. На вкладке «Общие» в разделе «Параметры безопасности» выберите параметр «Выполнить» независимо от того, вошел пользователь в систему или нет . (Это опция, которая заставляет командное окно не появляться, когда задача запускается автоматически.)
  9. Снимите флажок Не хранить пароль .
  10. Перейдите на вкладку «Триггеры» и нажмите кнопку «Новый».
  11. Используя раскрывающееся меню «Начать задачу», выберите параметр «По расписанию».
  12. В разделе «Настройки» укажите, когда вы хотите, чтобы задача выполнялась (например, «Вовремя», «Ежедневно», «Еженедельно», «Ежемесячно»). Какой бы вариант вы ни выбрали, обязательно укажите параметры запуска справа.
  13. Нажмите кнопку ОК.
  14. Перейдите на вкладку «Действия» и нажмите кнопку «Создать».
  15. В раскрывающемся меню «Действия» выберите пункт «Запустить программу».
  16. В поле «Программа / скрипт» введите следующую команду:
    Forfiles
  17. В поле «Добавить аргументы» введите следующую команду и нажмите кнопку ОК .
    /p "C:\path\to\folder" /s /d -30 /c "cmd /c del @file"

    В приведенной выше команде не забудьте изменить «C:\path\to\folder» указав путь к папке, в которую вы хотите удалить файлы, и измените чтобы выбрать файлы с датой последнего изменения.

  18. Нажмите кнопку ОК .
  19. Перейдите на вкладку «Настройки» и обязательно проверьте следующие параметры:
    • Разрешить выполнение задачи по требованию.
    • Запустите задачу как можно скорее после того, как запланированный запуск пропущен.
    • Если задача не выполняется, перезапустите каждый.
  20. Нажмите кнопку ОК .
  21. При появлении запроса введите имя пользователя и пароль администратора.
  22. Нажмите кнопку ОК.

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

Сброс системы

  1. Перейти по пути «Параметры» – «Обновление и безопасность» – «Восстановление».
  2. В пункте «Вернуть компьютер в исходное состояние» клацнуть по «Начать».
  3. Откроется новое окно, где будет предложено несколько вариантов действий. Для устранения проблемы (и имея при этом возможность продолжать использовать ПК) кликнуть «Сохранить мои файлы». Если все важные данные были перенесены на съемный носитель, была сделана резервная копия, то для полного сброса системы клацнуть по пункту «Удалить все». В зависимости от версии ОС может быть третий вариант – возврат заводских настроек (тогда будут переустановлены приложения, предустановленные при покупке ПК).
  4. При выборе первого варианта откроется окно с информацией об удаляемых приложениях (после восстановления исходного состояния ОС список удаленных программ будет отображен на рабочем столе в виде файла HTML).
  5. Второй вариант предполагает и удаление всех данных, и затирание места, где находились удаляемые файлы. Процесс занимает минимум несколько часов.
  6. После выбора нужного варианта и всех дополнительных настроек подтвердить свое согласие нажатием на соответствующую кнопку.
  7. По окончании процесса ПК перезагрузится.

    Сброс системы можно осуществить через инструмент WinRE. В разделе «Восстановление» есть пункт «Особые варианты загрузки», следует нажать на кнопку «Перезагрузить сейчас». Затем:

  8. Откроется окно с вариантами действий.
  9. Зайти в «Диагностику» (данный пункт может называться как «Поиск и устранение неисправностей»).
  10. Необходимо вернуть ПК в исходное состояние.
  11. Далее «Удалить все» – «Локальная переустановка» – выбрать желаемые настройки – осуществить сброс. Запустится процедура переустановки Windows.

электронные летописи..

Автоматическое удаление файлов и папок старше Х дней windows

Автоматическое удаление файлов необходимо и пригождается всякий раз когда мы что нибудь на автомате бекапим.. Ручками скопившийся старый хлам удалять постоянно не хочется, и я вот наткнулся вот на такую утилиту forfiles.exe Её можно найти где угодно и она очень проста в управлении.

вот пример как с ее помощью можно удалять старые бекапы старше 5 дней:

forfiles.exe /p D:Backup /s /m *.* /d -5 /c «cmd /c del /q /f @file»

обычный батник — и вуаля само делает неинтересную работу..

справка по FORFILES

Описание. Выбор файла (или набора файлов) и выполнение команды с этим файлом. Программа полезна для пакетных заданий.

Параметры: /P Путь, с которого начинается поиск. По умолчанию используется текущая рабочая папка (.).

/M Поиск файлов с помощью маски. Маска поиска по умолчанию «*» .

/S Рекурсивное выполнение программы forfiles во всех подпапках, аналогично «DIR /S».

/C Команда, которая выполняется для каждого файла. Строки команд необходимо заключать в прямые кавычки.

Команда по умолчанию «cmd /c echo @file».

Следующие переменные могут использоваться в строке команды: @file — возвращает имя файла. @fname — возвращает имя файла без расширения. @ext — возвращает только расширение имени файла. @path — возвращает полный путь к файлу. @relpath — возвращает относительный путь к файлу. @isdir — возвращает значение «TRUE», если типом файла является папка, и «FALSE» для файлов. @fsize — возвращает размер файла в байтах. @fdate — возвращает дату последнего изменения файла. @ftime — возвращает время последнего изменения файла.

Личный блог Гладышева Дмитрия

Иногда в Windows возникает необходимость удалить файлы определённого типа старше какого-то времени. Это можно сделать не прибегая к помощи сторонних утилит. Необходимо всего лишь выполнить запрос в командной строке. Вот так, например, у меня автоматически удаляются записи с камер видеонаблюдения старше 30 дней:

D: cd D:Videocam0 forfiles /p «D:Videocam0» /M *.mp4 /S /D -30 /C «cmd /c del /f /a /q @file»

Эти строки записаны в bat-файл, который автоматически вызывается из планировщика.

Иногда надо сделать удаление файлов старше n дней. Например Backup’ы. Можно делать это вручную, отсортировать их по дате и удалить, а можно воспользоваться скриптом. В данном примере мы рассмотрим скрипт для удаления файлов старше n дней и добавим задание в планировщик Windows Server 2012R2.

Автокликер для 1С Промо

Внешняя обработка, запускаемая в обычном (неуправляемом) режиме для автоматизации действий пользователя (кликер). ActiveX компонента, используемая в обработке, получает события от клавиатуры и мыши по всей области экрана в любом приложении и транслирует их в 1С, получает информацию о процессах, текущем активном приложении, выбранном языке в текущем приложении, умеет сохранять снимки произвольной области экрана, активных окон, буфера обмена, а также, в режиме воспроизведения умеет активировать описанные выше события. Все методы и свойства компоненты доступны при непосредственной интеграции в 1С. Примеры обращения к компоненте представлены в открытом коде обработки.

1 стартмани

Документы бухгалтерского учета

Первичные учетные документы, регистры бухгалтерского учета, бухгалтерская (финансовая) отчетность, аудиторские заключения о ней подлежат хранению экономическим субъектом в течение сроков, устанавливаемых в соответствии с правилами организации государственного архивного дела, но не менее пяти лет после отчетного года (ч. 1 ст. 29 Федерального закона от 06.12.2011 № 402-ФЗ “”, далее – Закон № 402-ФЗ). Сроки хранения электронных документов (регистров) устанавливаются в том же порядке, что и для документации, формируемой на бумажных носителях. При этом экономические субъекты должны хранить документы учетной политики, стандарты экономического субъекта, другие документы, связанные с организацией и ведением бухгалтерского учета, в том числе средства, обеспечивающие воспроизведение электронных документов, а также проверку подлинности электронной подписи не менее пяти лет после года, в котором они использовались для составления бухгалтерской (финансовой) отчетности в последний раз ().

При определении конкретных сроков хранения отдельных бухгалтерских документов следует руководствоваться Перечнем типовых управленческих архивных документов, образующихся в процессе деятельности государственных органов, органов местного самоуправления и организаций, с указанием сроков хранения, утвержденным приказом Минкультуры России от 25.08.2010 № 558 (далее – Перечень). Данный Перечень разработан и утвержден во исполнение положений ,  Федерального закона от 22.10.2004 № 125-ФЗ “Об архивном деле в Российской Федерации” (далее – Закон № 125-ФЗ).

В соответствии с п. 1.4 Перечня исчисление сроков хранения документов производится с 1 января года, следующего за годом окончания их делопроизводства.

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

Например:

  • бухгалтерская (финансовая) отчетность (бухгалтерские балансы, отчеты о прибылях и убытках, отчеты о целевом использовании средств, приложения к ним и др.) хранится (п. 351 Перечня):  а) сводная годовая (консолидированная) – постоянно;  б) годовая – постоянно;  в) квартальная – 5 лет (при отсутствии годовых – постоянно);  г) месячная – 1 год (при отсутствии квартальных – постоянно);
  • налоговые декларации (расчеты) юридических лиц по всем видам налогов, декларации и расчеты авансовых платежей по страховым взносам на обязательное пенсионное страхование хранятся 5 лет (п. 392 Перечня);
  • декларации и расчеты авансовых платежей по страховым взносам на обязательное пенсионное страхование хранятся 5 лет, а при отсутствии лицевых счетов или ведомостей начисления заработной платы – 75 лет (п. 395 Перечня);
  • налоговые карточки по учету доходов и налога на доходы физических лиц (форма № 1-НДФЛ), сведения о доходах физических лиц хранятся 5 лет, а при отсутствии лицевых счетов или ведомостей начисления заработной платы – 75 лет (п. 394, п. 396 Перечня);
  • первичные учетные документы и приложения к ним, зафиксировавшие факт совершения хозяйственной операции и явившиеся основанием для бухгалтерских записей (кассовые документы и книги, банковские документы, корешки банковских чековых книжек, ордера, табели, извещения банков и переводные требования, акты о приеме, сдаче, списании имущества и материалов, квитанции, накладные и авансовые отчеты, переписка и др.), хранятся 5 лет при условии проведения проверки (ревизии) (ст. 362 Перечня);
  • переписка о приобретении хозяйственного имущества, канцелярских принадлежностей, железнодорожных и авиабилетов, оплате услуг средств связи и других административно-хозяйственных расходах, о предоставлении мест в гостиницах хранится 1 год (п. 367 Перечня);
  • реестры сведений о доходах физических лиц хранятся 75 лет, как и лицевые карточки, счета работников (п. 397, п. 413 Перечня);
  • документы (протоколы, акты, расчеты, ведомости, заключения) о переоценке основных фондов, определении амортизации основных средств, оценке стоимости имущества организации хранятся постоянно (ст. 429 Перечня);
  • документы (заявки, акты оценки, переписка и др.) по продаже движимого имущества хранятся 10 лет (п. 430 Перечня);
  • акты о передаче прав на недвижимое имущество и сделок с ним от прежнего к новому правообладателю (с баланса на баланс) хранятся постоянно (ст. 432 Перечня).

Как найти и удалить файлы старше конкретной даты в Linux

Хочу в этой теме «Как найти и удалить файлы старше конкретной даты в Linux» рассказать как можно найти и удалить определенные файлы по дате в ОС  Linux таких как Debian, Ubuntu или Redhat, Centos. На готовых примера покажу что и как нужно делать.

1. Посмотрим список всех файлов в папке с датой изменения, для этого стоит выполнить команду:

#  ls -lah /home/captain/

пример использование команды ls -lah для вывода подробной информации о файлах

2. Чтобы узнать сегодняшнюю дату, нужно выполнить:

# date

on Jul 14 04:04:52 EEST 2014

3.  Команда что выше не вывела полную дату, можно это исправить:

# ls --full-time

total 36576
drwxr-xr-x 8 root root 4096 2014-06-06 07:16:21.000000000 +0300 firefox
-rw-r--r-- 1 root staff 37445961 2014-06-06 07:21:16.000000000 +0300 firefox-30.0.tar.bz2

4. Допустим нужно найти файлы и удалить их по определенной дате.

Если нужно найти все файлы свыше 3 дня и после чего удалить их:

# find /home/captain -type f -mtime +3 -exec rm -rf {} \;

Если нужно найти все файлы свыше 90 дней и после чего удалить их:

# find /home/captain -type f -mtime +90 -exec rm -rf {} \;

Если нужно найти все файлы свыше 365 дней и после чего удалить их:

# find /home/captain -type f -mtime +365 -exec rm -rf {} \;

Если нужно найти все файлы свыше 100 дней и после чего удалить их:

# find /home/captain -type f -mtime +100 -exec rm -rf {} \;

Удаление файлов старше N дней

$ find /dir/ -atime +N | xargs rm -f

так же:

$ find /dir/ -atime +N -delete

можно еще вот так:

$ find /dir/ -name "*.jpg" -mtime +N -exec rm -f {} \;

Ключи:-name — искать по имени файла, при использовании подстановочных образцов параметр заключается в кавычки.-type — тип искомого: f=файл, d=каталог, l=ссылка (link).-user — владелец: имя пользователя или UID.-group — владелец: группа пользователя или GID.-perm — указываются права доступа.-size — размер: указывается в 512-байтных блоках или байтах (признак байтов — символ «c» за числом).-atime — время последнего обращения к файлу.-ctime — время последнего изменения владельца или прав доступа к файлу.-mtime — время последнего изменения файла.-newer другой_файл — искать файлы созданные позже, чем другой_файл.-delete — удалять найденные файлы.-ls — генерирует вывод как команда ls -dgils.-print — показывает на экране найденные файлы.-exec command {} \; — выполняет над найденным файлом указанную команду; обратите внимание на синтаксис.-ok — перед выполнением команды указанной в -exec, выдаёт запрос.-depth — начинать поиск с самых глубоких уровней вложенности, а не с корня каталога.-prune — используется, когда вы хотите исключить из поиска определённые каталоги.N — количество дней. Вот собственно и все, завершил я тему «Как найти и удалить файлы старше конкретной даты в Linux», очень все просто, если знаешь что и как. Спасибо что читаете мой блог https://linux-notes.org

Спасибо что читаете мой блог https://linux-notes.org

Вот собственно и все, завершил я тему «Как найти и удалить файлы старше конкретной даты в Linux», очень все просто, если знаешь что и как. Спасибо что читаете мой блог https://linux-notes.org

ПО из сторонних источников

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

Способ 1: Специализированный софт

Подробнее: Программы для удаления программ, которые не удаляются

В качестве примера мы используем Soft Organizer, но предложенный ниже алгоритм будет применим и для других программ.

Способ 2: Ручная очистка

К сожалению, даже самым продвинутым программам не всегда удается корректно и полностью стереть остатки удаленного ПО. В таких случаях приходится делать все самостоятельно. Это значит, что нужно проверить все основные папки и реестр на предмет наличия лишних файлов. Выполните следующие действия:

  1. Откройте «Проводник» Windows и перейдите в папку «Документы». По умолчанию ссылка на нее есть в левой части окна.

Проверьте, есть ли в данной папке каталог, который относится к удаленной ранее программе. Как правило, он имеет такое же название, как и сам софт. Если есть, тогда просто удалите его стандартным способом, поместив в «Корзину» или минуя ее.

Аналогичным образом нужно проверить другие папки – «Program Files» и «Program Files (х86)». Если у вас 32-разрядная система, последняя папка будет отсутствовать. Находятся они по следующим адресам:

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

Следующим шагом будет очистка директорий, которые скрыты от пользователя. Для доступа к ним откройте «Проводник» и кликните по адресной строке правой кнопкой мышки. Из появившегося контекстного меню выберите пункт «Изменить адрес».

В активированное поле введите команду , после чего нажмите «Enter» на клавиатуре.

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

Далее точно таким же образом, через адресную строку, перейдите в каталог . Если есть следы удаленных приложений – сотрите их.

Теперь нужно проверить реестр. Все дальнейшие действия следует выполнять очень внимательно, иначе можно навредить системе. Для вызова редактора нажмите сочетание клавиш «Windows+R» и введите в поле открывшегося окна команду и нажмите «Enter».

Когда откроется окно «Редактор реестра», нажмите в нем комбинацию «Ctrl+F». Это позволит открыть окно поиска, которое также можно вызвать через меню «Правка» и пункт «Найти».

Введите в поисковое поле название программы или имя организации производителя. Тут сложно угадать, по какому именно пути будут храниться ключи в реестре. После ввода запроса нажмите кнопку «Найти далее».

Спустя некоторое время дерево реестра откроется в том месте, где найдено совпадение по поисковому запросу. Обратите внимание, что это может быть как целая папка, так и отдельный файл внутри другого каталога. Удалите найденный элемент, затем нажмите кнопку «F3» для продолжения поиска.

Повторяйте поиск до тех пор, пока не появится окно с сообщением «Поиск в реестре завершен». Это значит, что больше совпадений нет. В такой ситуации можно закрыть «Редактор реестра», так как вы стерли все следы удаленных ранее программ. При желании можно повторить поиск с другим запросом.

Как найти и удалить файлы старше конкретной даты в Linux

Хочу в этой теме «Как найти и удалить файлы старше конкретной даты в Linux» рассказать как можно найти и удалить определенные файлы по дате в ОС  Linux таких как Debian, Ubuntu или Redhat, Centos. На готовых примера покажу что и как нужно делать.

1. Посмотрим список всех файлов в папке с датой изменения, для этого стоит выполнить команду:

#  ls -lah /home/captain/

пример использование команды ls -lah для вывода подробной информации о файлах

2. Чтобы узнать сегодняшнюю дату, нужно выполнить:

# date

on Jul 14 04:04:52 EEST 2014

3.  Команда что выше не вывела полную дату, можно это исправить:

# ls --full-time

total 36576
drwxr-xr-x 8 root root 4096 2014-06-06 07:16:21.000000000 +0300 firefox
-rw-r--r-- 1 root staff 37445961 2014-06-06 07:21:16.000000000 +0300 firefox-30.0.tar.bz2

4. Допустим нужно найти файлы и удалить их по определенной дате.

Если нужно найти все файлы свыше 3 дня и после чего удалить их:

# find /home/captain -type f -mtime +3 -exec rm -rf {} \;

Если нужно найти все файлы свыше 90 дней и после чего удалить их:

# find /home/captain -type f -mtime +90 -exec rm -rf {} \;

Если нужно найти все файлы свыше 365 дней и после чего удалить их:

# find /home/captain -type f -mtime +365 -exec rm -rf {} \;

Если нужно найти все файлы свыше 100 дней и после чего удалить их:

# find /home/captain -type f -mtime +100 -exec rm -rf {} \;

Удаление файлов старше N дней

$ find /dir/ -atime +N | xargs rm -f

так же:

$ find /dir/ -atime +N -delete

можно еще вот так:

$ find /dir/ -name "*.jpg" -mtime +N -exec rm -f {} \;

Ключи:-name — искать по имени файла, при использовании подстановочных образцов параметр заключается в кавычки.-type — тип искомого: f=файл, d=каталог, l=ссылка (link).-user — владелец: имя пользователя или UID.-group — владелец: группа пользователя или GID.-perm — указываются права доступа.-size — размер: указывается в 512-байтных блоках или байтах (признак байтов — символ «c» за числом).-atime — время последнего обращения к файлу.-ctime — время последнего изменения владельца или прав доступа к файлу.-mtime — время последнего изменения файла.-newer другой_файл — искать файлы созданные позже, чем другой_файл.-delete — удалять найденные файлы.-ls — генерирует вывод как команда ls -dgils.-print — показывает на экране найденные файлы.-exec command {} \; — выполняет над найденным файлом указанную команду; обратите внимание на синтаксис.-ok — перед выполнением команды указанной в -exec, выдаёт запрос.-depth — начинать поиск с самых глубоких уровней вложенности, а не с корня каталога.-prune — используется, когда вы хотите исключить из поиска определённые каталоги.N — количество дней. Вот собственно и все, завершил я тему «Как найти и удалить файлы старше конкретной даты в Linux», очень все просто, если знаешь что и как

Спасибо что читаете мой блог http://linux-notes.org

Вот собственно и все, завершил я тему «Как найти и удалить файлы старше конкретной даты в Linux», очень все просто, если знаешь что и как. Спасибо что читаете мой блог http://linux-notes.org

Forfiles — консольная утилита Windows для операций с файлами, которая уже присутствует в стандартной поставке в Windows7 и WS2008R2. Позволяет производить поиск по маске и\или возрасту и применять действия к найденным файлам.

Например, данная команда найдет и удалит все файлы по маске *.log старше месяца:

forfiles /P D:\logs /S /D 30 /M *.log /С "cmd /C del @file" >> log.txt

Где:

— путь — рекурсивно — по дате, старше 30 дней — маска поиска- вызов командной строки — вызов команды удалить — возвращает имена найденных файлов — перенаправить вывод команды в лог файл

Можно сохранить как батник и запихать в крон планировщик задач.

Пара примеров: Удалить файлы в каталогах по маске по пути D:\project\, оставив сами каталоги:

forfiles /P D:\project\ /S /M .svn -c "cmd /c del /S @file"

Удалить непустые каталоги по маске со всем содержимым:

forfiles /P D:\project\ /S /M .svn -c "cmd /c rmdir /S @file"

Справка по использованию:

forfiles /?

FORFILES   
           {dd.MM.yyyy | dd}]

Описание.
    Выбор файла (или набора файлов) и выполнение команды
    с этим файлом. Программа полезна для пакетных заданий.

Параметры:
    /P  < путь>          Путь, с которого начинается поиск.
                        По умолчанию используется текущая
                        рабочая папка (.).

    /M  < маска_поиска>  Поиск файлов с помощью маски.
                        Маска поиска по умолчанию "*" .

    /S                  Рекурсивное выполнение программы forfiles
                        во всех  подпапках, аналогично "DIR /S".

    /C  < команда>       Команда, которая выполняется для каждого файла.
                        Строки команд необходимо заключать в прямые
                        кавычки.

                        Команда по умолчанию "cmd /c echo @file".

                        Следующие переменные могут использоваться
                        в строке команды:
                        @file    - возвращает имя файла.
                        @fname   - возвращает имя файла без
                                   расширения.
                        @ext     - возвращает только расширение имени
                                   файла.
                        @path    - возвращает полный путь к файлу.
                        @relpath - возвращает относительный путь к
                                   файлу.
                        @isdir   - возвращает значение "TRUE", если типом
                                   файла является папка, и "FALSE" для файлов.
                        @fsize   - возвращает размер файла
                                   в байтах.
                        @fdate   - возвращает дату последнего изменения
                                   файла.
                        @ftime   - возвращает время последнего изменения
                                   файла.

                        Для включения специальных символов в строку команды
                        следует использовать шестнадцатеричный код символа
                        в формате 0xHH (например, 0x09 для табуляции).
                        Перед внутренними командами CMD.exe необходимо ставить
                        "cmd /c".

    /D  < дата>          Выбор файлов, у которых дата последнего изменения
                        больше или равна (+) либо меньше или равна
                        (-) указанной дате при использовании формата
                        "dd.MM.yyyy"; либо файлов, у которых дата  последнего
                        изменения больше или равна (+)
                        текущей дате плюс "dd" дней либо меньше или
                        равна (-) текущей дате минус "dd" дней.
                        Допустимым числом дней "dd" является любое
                        число в диапазоне 0 - 32768.
                        "+" используется по умолчанию, если знак не указан.

    /?                  Вывод справки по использованию.

Примеры:
    FORFILES /?
    FORFILES
    FORFILES /P C:\WINDOWS /S /M DNS*.*
    FORFILES /S /M *.txt /C "cmd /c type @file | more"
    FORFILES /P C:\ /S /M *.bat
    FORFILES /D -30 /M *.exe
             /C "cmd /c echo @path 0x09 был изменен 30 дней назад"
    FORFILES /D 01.01.2001
             /C "cmd /c echo @fname является новым с 1-янв-2001"
    FORFILES /D +18.10.2013 /C "cmd /c echo @fname является новым сегодня"
    FORFILES /M *.exe /D +1
    FORFILES /S /M *.doc /C "cmd /c echo @fsize"
    FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"

Если выдает такую ошибку (для разных языков):

ОШИБКА: Неправильный параметр или аргумент - '/С'.
ERROR: Invalid syntax. Value expected for '/C'.

Значит параметр не срабатывает, помогает замена на , как сделано в паре примеров. Как выяснилось, в WS2003R2 (предполагаю что на WXP тоже) срабатывают оба параметра, а в WS2008R2 и W7 только .

Привелось удалять логи из каталога и на выполнение действия для каждого вложенного каталога просил подтверждения. Параметра — для forfiles нет. Пришлось сделать так:

echo Y | forfiles /P c:\ProgramData\Path /S /D -21 /c "cmd /c del /s @file"

Удаление устаревших файлов в Windows

Простые действия в Windows не всегда простые:)Для удаления файлов старше какого-либо периода в Unix отлично справляется нативная команда find.Для Windows времен 2000 и XP приходилось использовать либо сторонние программы, либо писать на VBS.Но начиная с Windows7 в поставке появилась утилита forfiles, которая легко решает данную задачу.

Напишем bat-файл для удаления файлов старше 30 дней из директории C:\temp\logs:

forfiles.exe -p C:\temp\logs -s -d -30 -c "cmd /c del @path /q"
  • -p — Путь
  • -s — Разрешаем ходить рекурсивно
  • -d — Дата (Можно указать точную дату формата ‘dd.MM.yyyy’)
  • -30 — относится к ключу ‘-d’ и указывает, что ищем файлы старше 30 дней
  • -с —  Команда, которая выполняется для каждого файла

В двух словах:Рекурсивно ищем все (можно искать по маске файла, добавив ключ ‘-m *.log’) файлы в директории  ‘C:\temp\logs’, которые старше 30 дней, далее каждое вхождение передаем команде  ‘cmd /c del @path /q‘ , где:

  • cmd — интерпретатор Windows
  • /c — выполнить cmd и закрыть
  • del — встроенная команда windows для удаления файлов
  • @path — адрес файла, который нам вернул forfiles.exe
  • /q — тихий режим

Утилита forfiles.exe прекрасно работает на windowsXP и даже на Windows2000, достаточно ее скопировать с windows7  и разместить по системному пути, например в %windir%, выложил forfiles.exe на обменник.

( Пока оценок нет )

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: