0

我已经彻底寻找可以做到这一点的脚本,因为我知道这个问题已经被问过了......但我对编程知之甚少。我有 66 个文件夹,每个文件夹包含 6 个以 _0、_1、..._5 结尾的文件。示例文件名为 DSC_7789 Panorama_cube_0。我需要一个可以在每个文件夹上运行的脚本,将_0 替换为_f,将_1 替换为_r,将_2 替换为_b,将_3 替换为_l,将_4 替换为_u,将_5 替换为_d。因此 DSC_7789 Panorama_cube_0 将更改为 DSC_7789 Panorama_cube_f。实际上,我自己曾经做过所有这些……花了一整天的时间。谁能指出我的写作方向?我假设这将在 Visual Basic 中运行。谢谢!

4

1 回答 1

1

REN 命令非常有限,但在您的情况下,它就是所需要的。

重命名当前目录中的文件:

ren *_0 *_f
ren *_1 *_r
ren *_2 *_b
ren *_3 *_l
ren *_4 *_u
ren *_5 *_d

重命名当前目录及其所有子文件夹中的所有文件(递归):

for /d /r %%F in (.) do (
  ren "%%~fF\*_0" *_f
  ren "%%~fF\*_1" *_r
  ren "%%~fF\*_2" *_b
  ren "%%~fF\*_3" *_l
  ren "%%~fF\*_4" *_u
  ren "%%~fF\*_5" *_d
)

要重命名特定文件夹中的所有文件:

for /d /r "c:\your\root\here" %%F in (.) do (
  ren "%%~fF\*_0" *_f
  ren "%%~fF\*_1" *_r
  ren "%%~fF\*_2" *_b
  ren "%%~fF\*_3" *_l
  ren "%%~fF\*_4" *_u
  ren "%%~fF\*_5" *_d
)


编辑

对于任何感兴趣的人,我终于发现并记录了 Windows RENAME 如何处理通配符的规则。请参阅Windows RENAME 命令如何解释通配符?. 我最初在 StackOverflow 上发布了问答,但它被迁移到了 SuperUser。

于 2012-07-05T20:04:14.703 回答