Powershell-имена файлов в каталоге с одинаковыми буквами

Мне нужно написать сценарий powershell, в котором перечислены имена файлов, содержащие одинаковые буквы, разница только в том, какие буквы.

Мое первое мнение - отсортировать буквы в алфавите, и если они подходят, то они совпадают, но мне нужна помощь для этого

Get-ChildItem $path | foreach  {$i=1}`
{  
        $asd=$_ | sort-object
        Get-ChildItem $path | foreach  {$i=1}`
        {  
            $wasd=$_ | sort-object              
            if($asd -eq $wasd)
            {
                Write-Host $_
            }

        }
}

Эти файлы соответствуют моим критериям: asd.txt, dsa.txt, т.к. содержат одинаковые буквы


person user3063349    schedule 12.12.2013    source источник
comment
code Get-ChildItem $путь | foreach {$i=1}` { $asd=$_ | сортировать Get-ChildItem $path | foreach {$i=1}` { $wasd=$_ | sort Write-Host $wasd $asd if($asd -eq $wasd) { Write-Host $_ } } } code Этот способ сортировки не работает   -  person user3063349    schedule 12.12.2013
comment
Get-ChildItem $путь | foreach {$i=1}` { $asd=$_ | сортировать Get-ChildItem $path | foreach {$i=1}` {$wasd=$_ | sort Write-Host $wasd $asd if($asd -eq $wasd) { Write-Host $_ } } }   -  person user3063349    schedule 12.12.2013
comment
Пожалуйста, приведите примеры имен файлов, которые бы соответствовали вашим критериям.   -  person Benjamin Hubbard    schedule 12.12.2013
comment
Поместите свой код в свой пост, а не в комментарий. Он не будет правильно отформатирован в комментарии.   -  person alroc    schedule 12.12.2013


Ответы (2)


Я думаю, что это делает то, что вы хотите.

function get-Stringcharacters {
param($string)
  [char[]]$string | sort-object
}

dir $path | group-object @{E={get-Stringcharacters $_.Name}} | 
          where-object {$_.Count -gt 1} | 
          select-object -ExpandProperty Group |
          foreach { write-host $_.Name }
person Mike Shepard    schedule 12.12.2013
comment
не знаю, что это делает, но это не работает, мне нужно записать имена файлов, которые совпадают, как я написал, можете ли вы поместить это в код? - person user3063349; 12.12.2013
comment
Это ближе к тому, что вы ищете? - person Mike Shepard; 12.12.2013
comment
все еще не работает, мне нужны файлы из каталога $path, это работает из этого? - person user3063349; 12.12.2013
comment
Добавлен $path к командлету dir. - person Mike Shepard; 12.12.2013

gci | % { ($.BaseName.ToString().toCharArray() | Sort) -join ''} | Группа | ? { $.Count -gt 1 } | Выберите имя

person KevinD    schedule 12.12.2013
comment
это не кажется очень плохим ответом, есть смысл, но он даже ничего не пишет моему хосту... - person user3063349; 12.12.2013