Страница 1 из 1

удалить много файлов

Добавлено: 2009-11-29 23:17:50
Гость
есть директория с очень огромным количеством директорий в ней
нужно удалить все директории в которых файл *.log содержит ключевое заданое слово

как бы все это автоматизировать
может есть уже готовые программы?

Re: удалить много файлов

Добавлено: 2009-11-30 11:18:45
opt1k
запустить поиск *.log в этой папке, выделить результат и удалить его.

Re: удалить много файлов

Добавлено: 2009-11-30 11:30:22
princeps
я так понял, ему парсить надо log-файлы и если есть там нужный текст, мочить весь каталог. С помощью cmd скорее всего не реализовать такое, может быть powershell умеет.

Re: удалить много файлов

Добавлено: 2009-11-30 11:44:29
Гость
да! именно удалить всю дерикторию если в ее log файле присутсвует ключевое слово

Re: удалить много файлов

Добавлено: 2009-12-01 10:47:50
opt1k
ищешь поиском файлы с нужной строкой, потом упорядочиваешь их по типу и все .log файлы удаляешь.
Велосипед, зато бензина не нужно :-D

Re: удалить много файлов

Добавлено: 2009-12-01 14:17:45
princeps
так ему не только лог-файлы, ему весь каталог, в котором этот лог-файл лежит, надо удалять

Re: удалить много файлов

Добавлено: 2009-12-01 17:39:19
opt1k
а потом уж пройтись этим http://interestingsoft.blogspot.com/200 ... st_08.html

Re: удалить много файлов

Добавлено: 2009-12-02 23:42:05
Alex Keda
несчастные...

Re: удалить много файлов

Добавлено: 2009-12-09 13:53:17
manefesto
осваивайте perl, я нечто подобное делал,но это было давно

Re: удалить много файлов

Добавлено: 2009-12-09 15:34:16
Гость
накладно это использовать то одну то другую программу
а перл устанавливать так это вообще дурдом
наверное проще смонтировать виндовый раздел под unix и уже в unix все сделать парой команд
надо будет подумать о командах

Re: удалить много файлов

Добавлено: 2009-12-15 17:23:00
Mefis
надеюсь я все правильно понял. сделал себе 4 дериктории test. В 2 положил файл .log с текстом admin
теперь

Код: Выделить всё

grep -rl admin /usr/home/yura/test/
вывод

Код: Выделить всё

/usr/home/yura/test/test1/test.log
/usr/home/yura/test/test3/test.log

Re: удалить много файлов

Добавлено: 2009-12-15 17:51:44
Гость
теперь нужно отрезать вывод

Код: Выделить всё

/usr/home/yura/test/test1/test.log
/usr/home/yura/test/test3/test.log
что бы получить

Код: Выделить всё

/usr/home/yura/test/test1/
/usr/home/yura/test/test3/
и скормить скрипту что бы скрипт сделал этих директорий

Re: удалить много файлов

Добавлено: 2009-12-15 18:46:44
Mefis
блин, только заметил что это ветка по винде :unknown:
чёта я переработался)))

Re: удалить много файлов

Добавлено: 2009-12-15 19:25:08
Гость
да не
все нормально
пришли к выводу что чем ставить перл на винду
проще подключить виндовые диск к юниксу и из под юникса все поудалять

Re: удалить много файлов

Добавлено: 2009-12-20 12:46:34
ProFTP
Скрипт, ищущий файлы в директории и всех поддиректориях:

Код: Выделить всё

print join "\n", f('E:/PICTURES', "*.jpg");
 
sub f {return ( grep {!-d} (glob("$_[0]/$_[1]"), (map {f($_,$_[1])} grep {-d} glob("$_[0]/*"))) )} 

Re: удалить много файлов

Добавлено: 2009-12-29 11:52:56
x6e6564_
На винде не супер, но многое тоже реализуемо штатными средствами..

Код: Выделить всё

for /f %i in ('findstr /r /s /i /m "install" c:\WINDOWS\*.log') do echo %i