次のハッシュテーブルがあります。
$m = @{
"AAA" = "XX";
"BBB" = "YY";
"CCC" = "ZZ";
....
}
名前が「AAA」で始まるファイルを「XX....」、「BBB」を「YY....」などにリネームしたい。例えば、「AAA1234.txt」は「XX1234」にリネームする。TXT"。
Powershellでそれを行う方法は?
次のハッシュテーブルがあります。
$m = @{
"AAA" = "XX";
"BBB" = "YY";
"CCC" = "ZZ";
....
}
名前が「AAA」で始まるファイルを「XX....」、「BBB」を「YY....」などにリネームしたい。例えば、「AAA1234.txt」は「XX1234」にリネームする。TXT"。
Powershellでそれを行う方法は?
このコードは私のために働きます:
$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
}
}