我正在编写一个用于重命名文件的BAT文件。
我的文件是*.jpg
,其中*是文件名,我想把它们改为*-thumb.jpg
。
尝试执行RENAME *.jpg *-thumb.jpg
时,我的文件会出现为*.jpg-thumb.jpg
。
我正在编写一个用于重命名文件的BAT文件。
我的文件是*.jpg
,其中*是文件名,我想把它们改为*-thumb.jpg
。
尝试执行RENAME *.jpg *-thumb.jpg
时,我的文件会出现为*.jpg-thumb.jpg
。
实际上,只要名称中只有一个 .
,RENAME 命令就可以解决问题。只需使用多个 ?
替代单个 *
。
REN *.jpg ????????????????????-thumb.*
只需确保?
的数量至少与将要重命名的最长文件名一样长即可。
您还可以通过在源掩码中使用多个?
来确保不会意外地命名具有多个.
的名称。以下操作将将"abc.jpg"重命名为"abc-thumb.jpg",但不会对"abc.xyz.jpg"进行任何更改。
REN ????????????????????.jpg ????????????????????-thumb.*
您可以使用以下方法将文件重命名为带有两个点的名称,例如 "abc.xyz.jpg"。
REN ????????????.????????????.jpg ????????????.????????????-thumb.*
这个模式可以扩展到名称中的任意数量的点。
有关更多信息,请参见Windows重命名命令如何解释通配符?。
类似这样:
for %%f in (*.jpg) do rename "%%f" "%%~nf-thumb.jpg"