Powershell使用四位数递增

i86rm4rw  于 2023-03-30  发布在  Shell
关注(0)|答案(2)|浏览(217)

我想重命名一批文件,文件名中包含一个递增的数字,但我希望这些数字保持四位数,以0作为保持器(0001,0002等)。
我相信我必须用'{0:d4}' -f $variable来格式化增量,但我无法弄清楚。下面的代码对于两位数的数字很好,例如:0010,但只产生三个数字,例如1-9:001、002等。
如何使用四位数递增数字的格式?

$number = 00
$files = GCI "C:\work\" -filter *.jpg

foreach($file in $files){
    $name = $file.BaseName.Split(".")[0]
        $file | Rename-Item -NewName ("$name`_" + ($number++) + "_.jpg")
}
abithluo

abithluo1#

使用-f运算符自动对值进行零填充:

$number = 0
$files = GCI "C:\work\" -filter *.jpg

foreach($file in $files){
    $name = $file.BaseName.Split(".")[0]
    $newName = '{0}_{1:0000}_.jpg' -f $name,($number++)
    $file | Rename-Item -NewName $newName
}

格式化字符串0000只是表示“左填充值,0的长度最多为4”

twh00eeo

twh00eeo2#

大多数语言都有一个++运算符,它的意思是在这个值上加1。所以它的意思是$number = $number + 1

相关问题