Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Нужно удалить лог файлы старше 30 дней

Ответить
Настройки темы
CMD/BAT - [решено] Нужно удалить лог файлы старше 30 дней

Новый участник


Сообщения: 6
Благодарности: 1

Профиль | Отправить PM | Цитировать


Доброе времья суток.

Помогите с батником.
Имеються лог файлы большого размера, их нужно удалять но только не все а те которые старше 30-40 дней.
C:\PROGRAMM\logs


so_110401.dmp
Results_110331.dmp
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:11, 05-04-2011

 

Новый участник


Сообщения: 29
Благодарности: 2

Профиль | Отправить PM | Цитировать


Синтаксис
forfiles [/p путь] [/m маска_поиска] [/s] [/c команда] [/d[{+ | -}] [{ММ/ДД/ГГГГ | ДД}]]

Forfiles -p c:\backup -s -m *.* -d -5 -c "cmd /c del /q @path"
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:17, 05-04-2011 | #2



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

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


Новый участник


Сообщения: 6
Благодарности: 1

Профиль | Отправить PM | Цитировать


white155 ,
Огромное спасибо !!!

Отправлено: 17:22, 05-04-2011 | #3


Новый участник


Сообщения: 29
Благодарности: 2

Профиль | Отправить PM | Цитировать


вот только правильно не могу параметры задать, постоянно всяческие ошибки выдает, то время не то, то маска не работает

Отправлено: 18:18, 05-04-2011 | #4


Новый участник


Сообщения: 29
Благодарности: 2

Профиль | Отправить PM | Цитировать


надо удалять все файлы в папке созданные ранее одной недели
forfiles /p C:\backup\ /m *.* /s /c "del /F /Q" /d -7

выходит ошибка, не может найти указанный файл, что-то не так с командой del

Отправлено: 23:42, 05-04-2011 | #5


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


С командой «del» всё в порядке:
Код: Выделить весь код
… -c"%comspec% /c echo @PATH\@FILE" …
Просто Вы плохо прочитали написанное Вами же выше.


Команда «del» — не внешняя программа, а реализована как внутренняя команда командного процессора, потому работоспособна только из-под него.

Отправлено: 00:59, 06-04-2011 | #6


Новый участник


Сообщения: 6
Благодарности: 1

Профиль | Отправить PM | Цитировать


Посоветуйте ещё как удалить папки старше 30 дней ???
Или как удалить только пустые папки в которых нету файлов

Сперва не досмотрел в папке C:\PROGRAMM\logs есть также папки типа - 2010_06_06 (гггг_мм_дд)

Как их удалить, но не все, нужно чтобы остальсь за последние 30 дней (можно ли както привязаться по дате сосданию, а не по названию)

Последний раз редактировалось ksv_sergo, 06-04-2011 в 11:26.


Отправлено: 10:50, 06-04-2011 | #7


Аватара для dmitryst

Ветеран


Сообщения: 7254
Благодарности: 905

Профиль | Отправить PM | Цитировать


Сваял похожий скрипт:

del_old.cmd:
Код: Выделить весь код
forfiles /p "Z:\SQL_back" /S /D -5 /C "cmd /c del /f /a /q @file"
Закинул в планировщик Windows 2008 R2, ошибок не выдает, но и не удаляет нифига.... Вручную запускаю del_old.cmd - всё удаляется. В чем может быть подвох? Z: - примонтированный сетевой диск, если что.

-------
Осваиваю FreeBSD


Отправлено: 12:51, 20-08-2014 | #8


Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


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

Код: Выделить весь код
forfiles /p "\\server\share\SQL_back" /S /D -5 /C "cmd /c del /f /a /q @file"
Код: Выделить весь код
net use Z: \\server\share /user:domain\user password
forfiles /p "Z:\SQL_back" /S /D -5 /C "cmd /c del /f /a /q @file"

Отправлено: 14:36, 20-08-2014 | #9


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата dmitryst:
В чем может быть подвох? Z: - примонтированный сетевой диск, если что. »
Именно в этом и может быть.

Отправлено: 17:44, 20-08-2014 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Нужно удалить лог файлы старше 30 дней

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - Нужно быстро (!) добавить/удалить строку во все файлы указанной директории Possessed Скриптовые языки администрирования Windows 6 04-10-2011 22:29
[решено] Автоочистка файлов, старше 5 дней. Universal_gr Программное обеспечение Linux и FreeBSD 1 01-10-2010 01:12
Прочее - удаление файлов старше 10 дней admin666 Общий по Linux 1 23-07-2009 19:09
CMD/BAT - файлы вида mmdd*.* - для каждой даты нужно создать каталог, скопировать, файлы milito Скриптовые языки администрирования Windows 2 24-05-2009 23:32
Системные лог файлы Den13V Хочу все знать 4 21-03-2008 11:29




 
Переход