Попробуйте это:
Get-ChildItem | Where {!$_.PSIsContainer} |
Rename-Item -NewName {$_ -replace '([^.]+)\.(\d)(\w)', '$1.0$2$3'} -wh
Или, если у вас более девяти файлов:
gci | ? {!$_.PSIsContainer -and $_.Name -match '([^.]+\.)(\d)(\w+)'} |
rni -NewName {$matches[1] + ("{0:00}" -f [int]$matches[2]) + $matches[3]} -wh
Во втором примере псевдонимы используются для сокращения команды (проще для ввода). gci
- это псевдоним для Get-ChildItem
, ?
- это псевдоним для Where-Object
, а rni
- это псевдоним для Rename-Item
. -wh
вызывает функцию WhatIf
, в которой PowerShell покажет вам, что он будет делать, так что вы можете переключаться с командой, пока не будете удовлетворены результатами. Затем удалите -wh
, чтобы фактически выполнить его.