1

次のハッシュテーブルがあります。

$m = @{
    "AAA" = "XX";
    "BBB" = "YY";
    "CCC" = "ZZ";
    ....
}

名前が「AAA」で始まるファイルを「XX....」、「BBB」を「YY....」などにリネームしたい。例えば、「AAA1234.txt」は「XX1234」にリネームする。TXT"。

Powershellでそれを行う方法は?

4

2 に答える 2

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        
        }        
}
于 2012-05-02T18:40:45.807 に答える