powershell - Powershell 以四位数递增
问题描述
我想用文件名中包含的增量编号重命名一批文件,但是我希望这些数字保持四位数字,并以 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")
}
解决方案
使用-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 的左填充值”
推荐阅读
- javascript - 使用脚本中介计算 WSO2 EI 6.5.0 中两个日期之间的日期/时间差(“yyyy-mm-dd hh-mm-ss”)
- sas - 如果在另一列的(最小,最大)日期之间,SAS过滤日期一列
- python - 您将如何使用描述字段来检查单独数据文件中的行是否可能相关?
- terraform - Terraform 动态资源名称 fr aws_kms_key
- python - 如何从 numpy.array 创建一个火炬张量
- intellij-idea - Gradle:无法解析 com.jetbrains.intellij.idea:ideaIC:LATEST-EAP-SNAPSHOT
- spring-boot - Flyway 迁移 Spring Boot 的两个数据源的正确执行顺序
- database - 在 MongoDB atlas 中构建 dev 和 prod 环境
- java - Google Playstore 拒绝社交网络应用程序的 Android MANAGE_EXTERNAL_STORAGE 权限
- docker - ansible即使安装也找不到python包