批处理脚本以跨多个文件夹重命名文件

时间:2012-09-30 06:04:52

标签: batch-file rename

我有一个批处理脚本,它重命名文件夹中的文件,如下所示:

ren B:\Backups\*.bc_ *.bc

现在我有多个文件夹之间的文件,备份每天都会创建一个新名称的新文件夹,我需要在多个文件夹中重命名文件。 我该怎么做?在这种情况下如何正确使用外卡?

1 个答案:

答案 0 :(得分:2)

您不能在REN语句的路径中使用通配符。您将不得不使用某种形式的FOR命令。

假设您要重命名以B:\ Backups为根的整个文件夹层次结构中的所有* .bc_文件。

您可以使用FOR / R迭代层次结构中的所有.bc_文件,并单独重命名每个文件。

for /r "B:\Backups" %%F in (*.bc_) do ren "%%F" "%%~nF.bc"

或者您可以使用FOR / D / R迭代根目录下的所有文件夹,并针对每个文件夹运行通配符REN

for /d /r "B:\Backups" %%F in (.) do ren "%%F\*.bc_" *.bc

上述两个命令都设计用于批处理脚本。如果要从命令行而不是批处理文件中运行命令,请将每个双百分比更改为单个百分比。