0

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

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

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

4

1 回答 1

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

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

于 2012-09-30T06:30:15.423 回答