2012-05-02 24 views

答えて

2

このコードは、私の作品:

$m = @{"AAA" = "XX"; "BBB" = "YY"} 
$files = gci *.txt 
$m.GetEnumerator() | % { 
    $entry = $_ # save hash table entry for later use 
    $files | ? { $_.Name.StartsWith($entry.Key) } | 
     % { 
      $trimmed = $_.Name.Substring($entry.Key.length) # chops only the first occurence 
      $newName = $entry.Value + $trimmed 
      $_ | Rename-Item -NewName $newName   
     }   
} 
+0

名AAAAAA.txtはしかしXXXX.txt代わりのXXAAA.txtに変更されます。 – ca9163d9

+0

OK、これを修正しました。今それは大丈夫に動作するはずです。 – jumbo

+0

正規表現 '$ _ |を使う方が少し簡単かもしれません。名前の変更 - アイテム-NewName($ _。名前 - "^ $($ entry.Key)"、$ entry.Value)を置き換えます。 – ca9163d9