子文件夹里面的文件名重命名父文件夹的名称
时间: 2024-10-14 09:14:25 浏览: 24
Windows文件夹内文件名重命名脚本工具
如果你想在子文件夹中批量将文件名更改为包含父文件夹名称,你可以使用Python的os和shutil模块来实现。首先,你需要获取父文件夹的名字,然后遍历子文件夹中的每个文件,更改它们的文件名。以下是一个简单的示例:
```python
import os
def rename_files_in_subfolder(parent_folder):
# 获取父文件夹的名称
parent_name = os.path.basename(parent_folder)
# 遍历子文件夹
for root, dirs, files in os.walk(parent_folder):
# 只处理非隐藏文件(排除如".git"等)
for file in files:
if not file.startswith('.'):
# 获取原文件路径
old_file_path = os.path.join(root, file)
# 构造新文件名,保留扩展名并添加父文件夹名称
new_file_name = f"{parent_name}_{file}"
# 生成新文件完整路径
new_file_path = os.path.join(root, new_file_name)
# 如果旧文件存在,进行重命名
if os.path.exists(new_file_path):
print(f"警告:文件 {new_file_path} 已经存在,可能覆盖原有文件。")
else:
try:
os.rename(old_file_path, new_file_path)
print(f"成功重命名:{old_file_path} -> {new_file_path}")
except Exception as e:
print(f"重命名失败:{old_file_path} -> {new_file_path}, 错误:{e}")
# 使用时,请替换 'your_parent_folder' 为实际的父文件夹路径
rename_files_in_subfolder('your_parent_folder')
```
执行这段代码后,它会在指定的子文件夹中查找所有非隐藏文件,并将其名字修改为 `parent_name` 加上原始文件名的形式。
请注意,在运行此脚本之前,确保有足够的权限访问和更改这些文件,并且如果同一时间内有多个进程尝试重命名同一个文件,可能会发生冲突。可以根据具体需求调整错误处理的部分。
阅读全文