0

我需要编写一个 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,因为包含相同的字母

4

2 回答 2

1

我认为这是在做你想做的事。

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 }
于 2013-12-12T18:38:30.400 回答
0

gci | % { ($ .BaseName.ToString().toCharArray() | 排序) -join ''} | 集团 | ? { $ .Count -gt 1 } | 选择名称

于 2013-12-12T18:40:56.943 回答