有没有办法在 Windows 10 上一次更改多个文件扩展名?

use*_*910 7 windows batch-rename windows-10

如果我有一堆具有一个文件扩展名的文件,是否有一种方法可以快速将它们更改为另一个文件扩展名,而无需一次手动更改一个文件?微软支持页面提供了一种快速重命名许多文件的方法,但它只更改名称并保留原始扩展名,即使我在重命名文件时设置了显示文件扩展名的选项。

Red*_*dio 21

您有一些可用的实用程序。

电源外壳

将Rename-Item与Get-ChildItem结合使用

Get-ChildItem "*.png" | Rename-Item -NewName { $_.Name -replace "\.png$",".jpg" }
Run Code Online (Sandbox Code Playgroud)

命令提示符

使用ren命令

ren *.png *.jpg
Run Code Online (Sandbox Code Playgroud)

电源重命名

PowerToys的Power Rename实用程序。

  • 设置当前分机号,然后设置要更改为的分机号。
  • 适用于:Extension only
  • 点击Apply

注意:这假设您位于文件所在的文件夹中。如果没有,您需要cd转到前两个示例的正确位置。

  • @allo,在 DOS 中,glob 扩展是由正在运行的程序完成的,与 Linux 不同,Linux 中 glob 扩展是由 shell 完成的。 (5认同)
  • @allo我刚刚测试了它,即使文件名本身有空格,引号也是不必要的。不过,我相信您在 Linux 中会需要这些引号。 (3认同)
  • +1 电源重命名是一个很好的解决方案。 (2认同)
  • PowerShell `-replace` 的模式 `".png"` 不太正确。`-replace` 需要 **正则表达式** 作为模式,其中 `.` 代表 _any_ 字符,而不是文字 `​​.`,因此必须对其进行转义以避免意外结果。并且由于仅要更改扩展名,因此模式也应该锚定到字符串的末尾:`{ $_.Name -replace "\.png$", ".jpg" }`。对于“png”来说并没有太大关系,但是如果有人读到此内容并尝试将 .gif 重命名为 .jpg,那么“My Gifted child.gif”将变成“My.jpgted child.jpg”。 (2认同)