Я пытаюсь переименовать кучу файлов с помощью PowerShell, однако я сталкиваюсь с ошибкой, с которой не знаю, что делать, и поиск ее тоже не дал мне никаких решений.
Сообщение об ошибке:
Rename-Item : Cannot convert 'System.Object[]' to the type 'System.String' required by parameter 'NewName'.
Например: 2068227794 (0x8f860be3).bnk
до 0x8f860be3_0001.bnk
В этом конкретном случае $hex_name
является 0x8f860be3
.
$source = "K:\_test"
Get-ChildItem -Path $source -File -Recurse -Include "* (0x*).*" | ForEach-Object {
$prefix, $hex_name = ($_.BaseName).Split('()')
Rename-Item -Path $_ -NewName ($hex_name + "_0001" + $_.Extension)
}