![]() |
Нужно удалить лог файлы старше 30 дней
Доброе времья суток.
Помогите с батником. Имеються лог файлы большого размера, их нужно удалять но только не все а те которые старше 30-40 дней. C:\PROGRAMM\logs so_110401.dmp Results_110331.dmp |
Синтаксис
forfiles [/p путь] [/m маска_поиска] [/s] [/c команда] [/d[{+ | -}] [{ММ/ДД/ГГГГ | ДД}]] Forfiles -p c:\backup -s -m *.* -d -5 -c "cmd /c del /q @path" |
white155 ,
Огромное спасибо !!! :yahoo: |
вот только правильно не могу параметры задать, постоянно всяческие ошибки выдает, то время не то, то маска не работает
|
надо удалять все файлы в папке созданные ранее одной недели
forfiles /p C:\backup\ /m *.* /s /c "del /F /Q" /d -7 выходит ошибка, не может найти указанный файл, что-то не так с командой del |
С командой «del» всё в порядке:
Код:
… -c"%comspec% /c echo @PATH\@FILE" … Команда «del» — не внешняя программа, а реализована как внутренняя команда командного процессора, потому работоспособна только из-под него. |
Посоветуйте ещё как удалить папки старше 30 дней ???
Или как удалить только пустые папки в которых нету файлов Сперва не досмотрел в папке C:\PROGRAMM\logs есть также папки типа - 2010_06_06 (гггг_мм_дд) Как их удалить, но не все, нужно чтобы остальсь за последние 30 дней (можно ли както привязаться по дате сосданию, а не по названию) |
Сваял похожий скрипт:
del_old.cmd: Код:
forfiles /p "Z:\SQL_back" /S /D -5 /C "cmd /c del /f /a /q @file" |
походу запуск в шедулере проходит для незарегистрированного пользователя. или используй абсолютное сетевое имя или перед 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 |
Цитата:
|
Цитата:
Цитата:
Цитата:
Самое интересное, что в шедулере Last Run result = (0x1), рецепт по ссылке не прокатил, попробую еще сменить юзера на админа - может, все-таки диск почему-то не виден из-под моего юзера (в проводнике отображается, права на чтение-запись есть, вручную скрипт отлично выполняется). Цитата:
|
dmitryst, в условиях домена ничего монтировать не нужно в принципе.
Если у пользователя есть доступ к ресурсу — всё работает непосредственно с UNC именами. При настоятельной необходимости использовать UNC ресурс в качестве текущего каталога — либо используется пара pushd/popd, либо посредством GP задаётся параметр реестра «DisableUNCCheck» (Cmd.exe does not support UNC names as the current directory). |
Цитата:
В-общем, решилось.. Код:
net use x: \\serv\mirror\SQL_back password /user:backup_user Всем спасибо за подсказки! |
|
dobermann, может быть так -
Код:
forfiles /P "D:\666" /S /D -90 /C "cmd /c del /f /a /q @file" Код:
@path Код:
@file |
Время: 15:53. |
Время: 15:53.
© OSzone.net 2001-