使用通配符重命名cmd中的文件

时间:2012-01-08 18:31:41

标签: windows batch-file cmd

我正在写一个BAT文件来重命名一些文件。 我的文件是*.jpg,其中*是文件名,我希望它们是*-thumb.jpg

尝试RENAME *.jpg *-thumb.jpg时,我的文件显示为*.jpg-thumb.jpg

2 个答案:

答案 0 :(得分:28)

实际上,只要名称中只有一个.,RENAME命令就可以解决问题。只需使用多个?而不是一个*

REN *.jpg ????????????????????-thumb.*

确保?的数量至少与要重命名的最长文件名一样长。

您也可以通过在源掩码中使用许多.来确保不会意外命名具有多个?的名称。以下将“abc.jpg”重命名为“abc-thumb.jpg”,但仅留下“abc.xyz.jpg”。

REN ????????????????????.jpg ????????????????????-thumb.*

您可以使用以下两个点重命名文件,例如“abc.xyz.jpg”。

REN ????????????.????????????.jpg ????????????.????????????-thumb.*

可以为名称中的任意数量的点扩展模式。

有关详细信息,请参阅How does the Windows RENAME command interpret wildcards?

答案 1 :(得分:11)

类似的东西:

for %%f in (*.jpg) do rename "%%f" "%%~nf-thumb.jpg"