【问题标题】:powershell batch rename files maintain only five numbers and add a prefixpowershell批量重命名文件只维护五个数字并添加前缀
【发布时间】:2017-03-07 19:43:00
【问题描述】:

我想重命名一个文件夹中的多个文件 JPG,但我唯一要维护的是五个数字并添加前缀“nu” 示例:

206_00013.jpg -> nu00013.jgp
339-67003-primeur.jpg -> nu67003.jpg 
16126._1.jpg -> nu16126.jpg

问题是他们没有“逻辑”的原始文件

任何人都可以在这里指出正确的方向吗?我对Powershell一点也不熟悉。 谢谢

【问题讨论】:

  • 你说文件没有“逻辑”。我假设您的意思是文件名中不一定有简单的模式。他们是否都至少有 5 个数字组,并且只有一个这样的组?
  • Get-ChildItem | Rename-Item -NewName { ($_.BaseName -replace '.*(\d{5}).*', '$1') + $_.Extension }

标签: powershell rename


【解决方案1】:

您可以检查基本名称是否包含 5 位数字的字符串,如果是,请重命名:

Get-ChildItem *.jpg |ForEach-Object{
    if($_.BaseName -match '\d{5}'){
        Rename-Item $_.FullName -NewName "nu$($Matches[0]).jpg"
    } else {
        Write-Warning "5 digits not found in filename $($_.Name)"
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-26
    • 1970-01-01
    • 2013-03-24
    • 1970-01-01
    • 2021-04-02
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多