我正在写一个BAT文件来重命名一些文件。
我的文件是*.jpg
,其中*是文件名,我希望它们是*-thumb.jpg
。
尝试RENAME *.jpg *-thumb.jpg
时,我的文件显示为*.jpg-thumb.jpg
。
答案 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"