从目录名称重命名多个文件

时间:2019-07-03 09:09:32

标签: file rename mv

我有多个目录,每个目录上都有多个文件。每个目录上的每个文件都遵循相同的结构。

enter code here

.
├── one
│   ├── alpha.yaml
│   └── beta.yaml
├── three
│   ├── alpha.yaml
│   └── beta.yaml
└── two
    ├── alpha.yaml
    └── beta.yaml

我将使用相关目录名称重命名所有文件,即:

.
├── one
│   ├── one_alpha.yaml
│   └── one_beta.yaml
├── three
│   ├── three_alpha.yaml
│   └── three_beta.yaml
└── two
    ├── two_alpha.yaml
    └── two_beta.yaml

我尝试了一些for循环命令,但这些命令正在删除:

for i in *; do mv "$i/_alpha.yaml" "$i/$i_alpha.yaml" ; do

1 个答案:

答案 0 :(得分:0)

您可以在python中使用os.rename来做到这一点:

import os

basepath = './'
for dirname, dirnames, filenames in os.walk(basepath):
   for singleFile in filenames:  
       os.rename(singleFile, dirname + '_' + singleFile) 

让我知道它是否有效