У меня есть такие файлы в текущем каталоге:

Но я хочу переименовать файл в

Как использовать PowerShell для его реализации?

2 ответа2

1

Предполагая, что ваши файлы на самом деле называются "image * .png":

$files = "C:\files"

# for each file
gci $files | % { 
    $n = "0000" + $_.BaseName -replace "image",""     # pad the number with "0000". eg 0000999
    $n = $n.SubString($n.Length - 4, 4)               # get the 4 right-most numbers. eg 0999
    $name = "image" + $n + $_.Extension               # prepare the new name

    rename-item $files\$_ $files\$name -WhatIf
}

Удалите -WhatIf после тестирования.

Этот вопрос выглядит как продолжение вашего последнего. Было бы лучше настроить исходный вопрос в соответствии с требованиями, а не публиковать второй вопрос.

0

Сначала я скину image с имени файла

ls | Rename-Item -NewName {$_.Name -replace 'image',''}

Затем я вставляю 0 в имя файла

ls | %{Rename-Item $_.Name $_.Name.PadLeft(8,'0')}

Последнее я добавлю префикс обратно в имя файла

ls | %{Rename-Item $_.Name ('image'+$_.Name)}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .