学习了大家的解法
批处理比较麻烦
不是从1到n情况下,- $folder = "1"
- $file = Get-ChildItem -path $folder -Filter "*.pdf" | Sort-Object { ($_.BaseName -replace "^.+_") -as [int] }
- $lenMax = ( ( $file | ForEach-Object { ( ($_.BaseName -replace "^.+_").tostring() ).length } ) | Sort-Object )[-1]
- $file | ForEach-Object {
- $arr = $_.basename -split "_"
- if ( $arr[1].length -lt $lenMax ) {
- $newName = $arr[0] + "_" + ( "{0:d$lenmax}" -f [int]$arr[1] ) + $_.extension
- Rename-Item $_.fullname -newname $newName
- }
- }
复制代码
|