![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] необычный поиск дубликатов |
|
Любой язык - [решено] необычный поиск дубликатов
|
Ветеран Сообщения: 558 |
здравствуйте, реально ли осуществить вот такую задачку..
я хочу найти все файлы, в которых присутствуют энной или более кол-во одинаковых символов, т.е. я должен указать только цифру, например 5. а мне должны показаться (или в тхт или на экране, без разницы как), группы файлов в имени которых (не считая расширения) присутствует части слова из 5 или более одинаковых символов. А также, чтобы можно было указать слова для игнора (которые при нахождении в нескольких файлах не будут поводом принимать их за дубликаты, если таковые найдутся) пример у меня в папке куча папов.. в этих папках кучи файлов для примера возьму не множко: mydomain.com_хорошее кино.avi mydomain.com_хорошая комедия.wmv mydomain.com_камедиклаб.avi mydomain.com_сигареты камел.avi mydomain.com_стивен сигал.wmv я указываю верхнюю папку в которой нужно сделать проверку............. сами файлы находятся во вложенных папках, папки, которой я указал указываю количество символов 5 и более, указываю в списке игноров всего одно слово "mydomain.com_". такие должны быть результаты: хорошее кино.avi хорошая комедия.wmv если задал 4 и более, а слово игнор "mydomain.com_", результаты в виде группы хорошее кино.avi хорошая комедия.wmv ---------------------------------------------------- сигареты камел.avi стивен сигал.wmv если задал 3 и более, а слово игнор "mydomain.com_": хорошее кино.avi хорошая комедия.wmv ---------------------------------------------------- сигареты камел.avi стивен сигал.wmv ----------------------------------------------------- хорошая комедия.wmv камедиклаб.avi ---------------------------------------------------- камедиклаб.avi сигареты камел.avi Если можно сделать проще посредством каких - то программ, подскажите, пожалуйста каких именно, в тотале коммандере, есть поиск посредством плагина, может существует такой плагин ![]() |
|
Отправлено: 16:05, 28-03-2015 |
Ветеран Сообщения: 1759
|
|
Отправлено: 14:03, 29-03-2015 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 20133
|
Профиль | Отправить PM | Цитировать Alexander_88, если использование скриптов не принципиально, посмотрите в сторону Everything. Пожалуй на сегодня это самый быстрый поиск, удовлетворяющий вашим критериям.
http://www.voidtools.com/Everything-1.3.0.632b.exe |
------- Отправлено: 14:25, 29-03-2015 | #12 |
Ветеран Сообщения: 558
|
Профиль | Отправить PM | Цитировать Цитата Foreigner:
![]() yurfed интересно, а где можно количесво символов там настроить? я прочитал справку Функции: attrib:<атрибуты> Найти файлы и папки с указанными файловыми атрибутами attributes:<атрибуты> Найти файлы и папки с указанными файловыми атрибутами child:<имя_файла> Найти папки, содержащие файл с подходящим именем dateaccessed:<дата> Найти файлы и папки с указанной датой последнего доступа datecreated:<дата> Найти файлы и папки с указанной датой создания datemodified:<дата> Найти файлы и папки с указанной датой изменения daterun:<дата> Найти файлы и папки с указанной датой запуска da:<дата> Найти файлы и папки с указанной датой последнего доступа dc:<дата> Найти файлы и папки с указанной датой создания dm:<дата> Найти файлы и папки с указанной датой изменения dr:<дата> Найти файлы и папки с указанной датой запуска dupe: Найти дублирующиеся имена файлов empty: Найти пустые папки ext:<список> Найти файлы с подходящим расширением из указанного списка расширений, разделённых точкой с запятой (;) fsi:<индекс> Найти файлы и папки в указанном внутреннем индексе файловой системы с базой 0 len:<длина> Найти файлы и папки с именами указанной длины parents:<кол-во> Найти файлы и папки с указанным количеством родительских папок rc:<дата> Найти файлы и папки с указанной датой последнего изменения recentchange:<дата> Найти файлы и папки с указанной датой последнего изменения root: Найти файлы и папки, не имеющие родительских папок runcount:<число> Найти файлы и папки, запущенные указанное количество раз size:<размер> Найти файлы указанного размера (в байтах) type:<тип> Найти файлы и папки указанного типа |
|
Отправлено: 15:31, 29-03-2015 | #13 |
Ветеран Сообщения: 558
|
Профиль | Отправить PM | Цитировать не подскажете, что нужно прописать в конец, чтобы открыть этот финальный файл тхт в блокноте, ищу в гугле как открыть тхт, вроде не сложно должно быть, и нигде не могу найти
|
Отправлено: 20:43, 29-03-2015 | #14 |
Ветеран Сообщения: 1759
|
|
Отправлено: 21:34, 29-03-2015 | #15 |
Ветеран Сообщения: 558
|
Профиль | Отправить PM | Цитировать а я вот этим вариантом пользовался
$notparse = 'mydomain.com_|mydomain.org_|www.ya.ru_|\[игнор\]' # Если присутствуют'[' и ']', то их надо экранировать '\[' и '\]' $search_len = 7 $files = get-childitem .\test -recurse | where { -not $_.psiscontainer } $patterns = foreach ($f in $files) { $f = $f.basename -replace $notparse for ($i = 0; $i -le ($f.length - $search_len); $i++) { $f.substring($i,$search_len) -replace '(\[|\])','\$1' }} return & { foreach ($p in ($patterns | sort -unique)) { $res = $files | where { ($_.basename -replace $notparse) -match ".*${p}.*" } | foreach { "[${p}]: " + "$_" } if ($res.count -ge 2) { $res -replace '\\'; '' } }} | sc 1.txt сделал вот так , но не получается что - то $notparse = 'mydomain.com_|mydomain.org_|www.ya.ru_|\[игнор\]' # Если присутствуют'[' и ']', то их надо экранировать '\[' и '\]' $search_len = 7 $files = get-childitem .\test -recurse | where { -not $_.psiscontainer } $patterns = foreach ($f in $files) { $f = $f.basename -replace $notparse for ($i = 0; $i -le ($f.length - $search_len); $i++) { $f.substring($i,$search_len) -replace '(\[|\])','\$1' }} { foreach ($p in ($patterns | sort -unique)) { $res = $files | where { ($_.basename -replace $notparse) -match ".*${p}.*" } | foreach { "[${p}]: " + "$_" } if ($res.count -ge 2) { $res -replace '\\'; '' } }} | sc 1.txt invoke-item 1.txt |
Отправлено: 22:06, 29-03-2015 | #16 |
Ветеран Сообщения: 1759
|
Alexander_88, вы забыли '&', который был после return
|
Отправлено: 00:29, 30-03-2015 | #17 |
Ветеран Сообщения: 558
|
Профиль | Отправить PM | Цитировать спасибо, получилось
|
Отправлено: 01:19, 30-03-2015 | #18 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочие - не стандартный поиск дубликатов файлов | Alexander_88 | Программное обеспечение Windows | 7 | 28-03-2015 15:45 | |
CMD/BAT - Удаление дубликатов. | evgon | Скриптовые языки администрирования Windows | 11 | 18-09-2014 21:10 | |
Поймал необычный вирус | microon | Лечение систем от вредоносных программ | 14 | 20-12-2012 13:06 | |
Любой язык - [решено] Поиск дубликатов | Baranius | Скриптовые языки администрирования Windows | 14 | 07-06-2012 12:22 | |
Hare (необычный твикер) | Ser6720 | Программное обеспечение Windows | 7 | 15-04-2006 01:38 |
|