Так что я почти закончил то, что намеревался сделать. Я хочу отформатировать кучу изображений в папке в определенный формат «Изображение 0000», но когда я добираюсь до десятого изображения, формат переходит к «Изображение 00010»
Как мне сказать, чтобы вычитать один 0, когда он достигает 10, когда он достигает 100 и когда он достигает 1000.
Вот мой текущий код:
dir | %{$x=1} {Rename-Item $_ -NewName "Picture 000$x.jpg"; $x++ }
Спасибо, Апплето
dir | %{$x=0001} {Rename-Item $_ -NewName "Picture $x.jpg"; $x++ }
2 ответа
Создайте индексный счетчик, просматривайте файлы и переименовывайте их, используя отформатированный счетчик. Увеличивайте этот счетчик одновременно.
Что-то вроде этого
$i = 0
Get-Childitem -Path 'THE FOLDER WHERE THE IMAGES ARE' -Filter '*.jpg' -File | ForEach-Object {
$_ | Rename-Item -NewName ('Picture {0:0000}.jpg' -f $i++)
}
Вы можете использовать оператор формата строки -f
, чтобы добавить начальные нули к числу:
dir | %{$x=1} {Rename-Item $_ -NewName ('Picture {0:0000}.jpg' -f $x); $x++ }
Похожие вопросы
Новые вопросы
powershell
PowerShell - это кроссплатформенная утилита командной строки и сценариев от Microsoft. Используйте этот тег только для вопросов о написании и выполнении сценариев PowerShell. Вопросы программирования, относящиеся к кроссплатформенной версии PowerShell Core (Windows, macOS и Linux), должны быть помечены [powershell-core]. Вопросы о системном администрировании следует задавать в случае сбоя суперпользователя или сервера.