2013-12-12 6 views
0

동일한 문자가 포함 된 파일 이름을 나열하는 powershell 스크립트를 작성해야합니다. 차이점은 문자의 종류뿐입니다.Powershell- 동일한 문자가있는 디렉토리의 파일 이름

내 첫 oppinion 알파벳의 문자를 정렬하는 것입니다, 그것이 맞는 경우, 그들은 일치하지만, 이건 내 기준에 대한 일치하는 파일

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

'code' Get-ChildItem $ path | foreach {$ i = 1}' \t { \t \t \t $ asd = $ _ | 정렬 \t \t \t Get-ChildItem $ path | foreach는 {$ I = 1}' \t \t \t { \t \t \t \t $ WASD = $ _ | 종류 \t \t \t \t 쓰기 호스트 $의 WASD ""$의 ASD \t \t \t \t 경우 ($의 ASD의 -eq의 $의 WASD) \t \t \t \t { \t \t \t \t \t 쓰기 호스트 $ _ \t \t \t \t} \t \t \t \t \t \t} \t 'code' 이런 식으로 정렬하지 않았습니다. – user3063349

+0

Get-ChildItem $ path | foreach {$ i = 1}' \t { \t \t \t $ asd = $ _ | 정렬 \t \t \t Get-ChildItem $ path | foreach는 {$ I = 1}' \t \t \t { \t \t \t \t $ WASD = $ _ | 종류 \t \t \t \t 쓰기 호스트 $의 WASD ""$의 ASD \t \t \t \t 경우 ($의 ASD의 -eq의 $의 WASD) \t \t \t \t { \t \t \t \t \t 쓰기 호스트 $ _ \t \t \t \t} \t \t \t \t \t \t} \t} – user3063349

+1

조건에 맞는 파일 이름의 예를 입력하십시오. –

답변

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 } 
+0

이 일을 모르지만 작동하지 않는다. 필자가 작성한 것과 일치하는 파일 이름을 호스트에 작성해야한다. 코드에 넣을 수 있는가? – user3063349

+0

그게 당신이 찾고있는 것에 더 가깝습니까? –

+0

아직 작동하지 않습니다, 나는 $ 경로 디렉토리에서 파일이 필요합니다, 그 일입니까? – user3063349

0

gci | % {($ .BaseName.ToString(). toCharArray() | Sort) - 조인 ''} | 그룹 | ? {$.백작 - 백 1} | 이름 선택

+0

그것은 아주 나쁜 답변처럼 보이지는 않지만 감각을 가지고 있지만 내 호스트에도 아무 것도 쓰지 않습니다 ... – user3063349