Любой язык - [решено] необычный поиск дубликатов

Аватара пользователя
Alexander_88

Re: Любой язык - [решено] необычный поиск дубликатов

Сообщение Alexander_88 »

Alexander_88, Можно:



Код:

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

$notparse = '\d{5}|.+rufig_'

'\d{5}' -- пять цифр

'|' -- логическое 'или'

'.+rufig_' -- один или более символов перед rufig_
Аватара пользователя
yurfed

Re: Любой язык - [решено] необычный поиск дубликатов

Сообщение yurfed »

Alexander_88, если использование скриптов не принципиально, посмотрите в сторону
Everything
. Пожалуй на сегодня это самый быстрый поиск, удовлетворяющий вашим критериям.

http://www.voidtools.com/Everything-1.3.0.632b.exe
Аватара пользователя
Alexander_88

Re: Любой язык - [решено] необычный поиск дубликатов

Сообщение Alexander_88 »

Цитата Foreigner:



'\d{5}' -- пять цифр

'|' -- логическое 'или'

'.+rufig_' -- один или более символов перед rufig_
Любой язык - [решено] необычный поиск дубликатов




сейчас, все как нужно, лишнего нету.. благодарю Изображение





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:<тип>	Найти файлы и папки указанного типа

не нашел там, что то типа "найти файлы в которых сходятся энное кол-во символов"
Аватара пользователя
Alexander_88

Re: Любой язык - [решено] необычный поиск дубликатов

Сообщение Alexander_88 »

не подскажете, что нужно прописать в конец, чтобы открыть этот финальный файл тхт в блокноте, ищу в гугле как открыть тхт, вроде не сложно должно быть, и нигде не могу найти
Аватара пользователя
Alexander_88

Re: Любой язык - [решено] необычный поиск дубликатов

Сообщение Alexander_88 »

Alexander_88, Уберите команду return и добавьте в конце:



Код:

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

return & {
....
}} | set-content "D:\Test\result.txt"
invoke-item "D:\Test\result.txt"
Аватара пользователя
Alexander_88

Re: Любой язык - [решено] необычный поиск дубликатов

Сообщение Alexander_88 »

а я вот этим вариантом пользовался





Код:

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

$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
Аватара пользователя
Foreigner

Re: Любой язык - [решено] необычный поиск дубликатов

Сообщение Foreigner »

Alexander_88, вы забыли '&', который был после return
Ответить

Вернуться в «Скриптовые языки администрирования Windows»