我需要编写一个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,因为包含相同的字母
答案 0 :(得分: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 }
答案 1 :(得分:0)
gci | %{($ .BaseName.ToString()。toCharArray()| Sort)-join''} |集团| ? {$ .Count -gt 1} |选择名称