在 PowerShell 中重命名文件名

P4r1s

我想重命名已编辑照片的文件名,以便它们在 Windows 资源管理器中按顺序排列。

原来的文件名是这样的:IMG_1981.jpg编辑完后,它保存为:IMG_E1981.jpg

我想要实现的是E从编辑的文件名中删除并在文件名后添加一些增量。就像IMG_E1981.jpg越来越改为IMG_1981a.jpg或者IMG_1981(1).jpg,如果有匹配的文件名也以递增数。例如IMG_1981(2)IMG_1981(3)等等。

关于.ps实现这一目标的简单脚本有什么建议吗?

剃刀

在不太了解您当前的方法的情况下(请注意 Gerhard 的评论),您可以尝试以下操作

对于下面的测试脚本,我创建了一个包含脚本和子目录的新目录images该文件夹包含另一个名为renamed. 这使我们可以查看原始文件而无需重命名它们

$img_path = "$PSScriptRoot\images"
$rename_path = "$PSScriptRoot\images\renamed"

foreach ($img in (Get-ChildItem "$img_path\*.jpg")) {
    # note the single quotes at the end - otherwise you need to escape the $-sign
    $new_name = $img.Name -replace "_E(\d\d\d\d)", '_$1'

    # no image with that name exists
    if (!(Test-Path "$rename_path\$new_name")) {
        Copy-Item $img "$rename_path\$new_name"
    } else {
        # image-name already used
        $i = 1
        $inc_name = $new_name -replace ".jpg", "_$i.jpg"
        # creating a new image-name by appending _1, _2, etc. until
        # the name is not already used
        while (Test-Path "$rename_path\$inc_name") {
            Write-Host "Found $inc_name"
            $i++
            $inc_name = $new_name -replace ".jpg", "_$i.jpg"
        }
        Copy-Item $img "$rename_path\$inc_name"
    }
}

请记住,这肯定不是解决此问题的理想方法。请尝试更详细地解释您当前的问题。

既然您说要在文件名中添加类似(0)(1)的内容,如果它已经存在:为什么名称应该已经存在?随意分享演示目录内容:-)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用PowerShell重命名或删除文件名中的字符

来自分类Dev

PowerShell - 重命名对象数组中的重复文件名

来自分类Dev

PowerShell重命名多个文件,文件名的特定部分

来自分类Dev

Powershell递归文件名读取并重命名

来自分类Dev

在Powershell中批量重命名照片并添加字母以重复文件名

来自分类Dev

在 PowerShell 4.0 中使用文件名重命名文件夹

来自分类Dev

如何在PowerShell中使用连续的数字重命名每个.jpg文件名

来自分类Dev

Powershell通过按升序替换n个字符来重命名文件名

来自分类Dev

PowerShell重命名文件

来自分类Dev

Powershell重命名目录中的所有文件,重命名值来自被重命名的文件

来自分类Dev

Powershell-通过删除最后几个字符来重命名文件名

来自分类Dev

Powershell文件重命名语法

来自分类Dev

Powershell文件重命名语法

来自分类Dev

验证Powershell中输入的文件名

来自分类Dev

从powershell中的部分读取文件名

来自分类Dev

在 Powershell 中查找重复的文件名

来自分类Dev

使用 PowerShell 重命名给定目录和子文件夹中没有扩展名的所有文件

来自分类Dev

使用foreach循环在Powershell中批量重命名文件

来自分类Dev

重命名子文件夹中的PowerShell错误

来自分类Dev

Powershell脚本重命名目录中的所有文件

来自分类Dev

使用foreach循环在Powershell中批量重命名文件

来自分类Dev

重命名文件夹中的文件名-Python

来自分类Dev

根据文件名在python中重命名文件

来自分类Dev

重命名文件夹中的文件名

来自分类Dev

Powershell文件名检查

来自分类Dev

文件名提取-Powershell

来自分类Dev

在Powershell文件名中按日期列出文件

来自分类Dev

如何使用PowerShell中的文件内容获取文件名

来自分类Dev

使用Powershell递归重命名文件

Related 相关文章

  1. 1

    使用PowerShell重命名或删除文件名中的字符

  2. 2

    PowerShell - 重命名对象数组中的重复文件名

  3. 3

    PowerShell重命名多个文件,文件名的特定部分

  4. 4

    Powershell递归文件名读取并重命名

  5. 5

    在Powershell中批量重命名照片并添加字母以重复文件名

  6. 6

    在 PowerShell 4.0 中使用文件名重命名文件夹

  7. 7

    如何在PowerShell中使用连续的数字重命名每个.jpg文件名

  8. 8

    Powershell通过按升序替换n个字符来重命名文件名

  9. 9

    PowerShell重命名文件

  10. 10

    Powershell重命名目录中的所有文件,重命名值来自被重命名的文件

  11. 11

    Powershell-通过删除最后几个字符来重命名文件名

  12. 12

    Powershell文件重命名语法

  13. 13

    Powershell文件重命名语法

  14. 14

    验证Powershell中输入的文件名

  15. 15

    从powershell中的部分读取文件名

  16. 16

    在 Powershell 中查找重复的文件名

  17. 17

    使用 PowerShell 重命名给定目录和子文件夹中没有扩展名的所有文件

  18. 18

    使用foreach循环在Powershell中批量重命名文件

  19. 19

    重命名子文件夹中的PowerShell错误

  20. 20

    Powershell脚本重命名目录中的所有文件

  21. 21

    使用foreach循环在Powershell中批量重命名文件

  22. 22

    重命名文件夹中的文件名-Python

  23. 23

    根据文件名在python中重命名文件

  24. 24

    重命名文件夹中的文件名

  25. 25

    Powershell文件名检查

  26. 26

    文件名提取-Powershell

  27. 27

    在Powershell文件名中按日期列出文件

  28. 28

    如何使用PowerShell中的文件内容获取文件名

  29. 29

    使用Powershell递归重命名文件

热门标签

归档