Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


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

Профиль | Отправить 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