我如何使用在Powershell Commandlet中由固定部分和变化部分组成的公式批量重命名在同一文件夹中找到的多个文件(尽管它们的原始文件名是重命名)
即输出文件名:
Greenfarm_0001
Greenfarm_0002
Greenfarm_0003
Greenfarm_0004
Greenfarm_0006
谢谢
答案 0 :(得分:2)
如果您想要一种衬板,
Dir | %{Rename-Item $_ -NewName ("Prefix_{0}.jpg" -f $nr++)}
([ref]$nr).Value++
$nr=1;Get-ChildItem -Filter *.jpg|Rename-Item -Newname {"Greenfarm_{0:d4}.jpg" -f ([ref] $nr).Value++} -WhatIf
如果输出看起来正常,请删除-WhatIf
答案 1 :(得分:1)
您在这里:
$prefix = "prefix_"
$counter = 1
Get-ChildItem -Path "C:\temp" -File | foreach {
Rename-Item -Path $_.FullName -NewName "$prefix$counter$($_.Extension)"
$counter++
}
它将读取给定路径中的所有文件,并使用指定的前缀和递增的数字对其进行重命名。
也使用Get-ChildItem -Path "C:\temp" -File -Recursive
对子文件夹执行相同的操作。