Python 递归复制文件夹并更改所复制文件的文件夹/文件名

Python 递归复制文件夹并更改所复制文件的文件夹/文件名,python,node.js,bash,Python,Node.js,Bash,我需要复制一个大文件夹,并重命名其中包含特定字符串的所有文件和文件夹。基本上,我想复制所有内容并将10的任何实例更改为11 例如,如果我的文件夹结构如下: mainfolder10 -group10 -group10.js -group10.html 我希望它像这样复制它: mainfolder11 -group11 -group11.js -group11.html 我也可以先使用cp-r mainfolder10/mai

我需要复制一个大文件夹,并重命名其中包含特定字符串的所有文件和文件夹。基本上,我想复制所有内容并将
10
的任何实例更改为
11

例如,如果我的文件夹结构如下:

mainfolder10
   -group10
       -group10.js
       -group10.html
我希望它像这样复制它:

mainfolder11
   -group11
       -group11.js
       -group11.html
我也可以先使用
cp-r mainfolder10/mainfolder11/
复制它,然后使用不同的命令或脚本重命名文件。我只是在寻找任何不需要手动操作的东西


我希望在bash、node或python中实现这一点……不管你们推荐什么。有人知道这样做的简单方法吗?

对目录和文件进行递归的常用方法是:

从那个里,您可以根据需要逐个文件或逐个目录地使用或其中任何一个


为了避免混淆,我将在第一次过程中重命名所有文件,然后在第二次过程中重命名目录。

因此,我最终使用以下脚本完成了这项工作

#/usr/bin/env python
#编码:utf-8
从pathlib导入路径
进口舒蒂尔
导入临时文件
队列\u master=Path.home()/“/Users/leo/Desktop/repos/drive scripts”
群主
针,替换=(f“C{i}”表示范围(39,41)内的i)
src=队列\u主/f“MIA{NEEDLE}”
src
断言src.exists(),f“{src}”不存在
dest=Path(tempfile.mkdtemp())/f“MIA{REPLACEMENT}”
打印(目的地)
试试看:#这里有错误。可能的权限问题。我得到了一份部分拷贝
树形复制树(src、dest)
除异常作为错误外:
通过
对于目标全局(***)中的项目:
shutil.move(项目as_posix(),项目as_posix()。更换(针,更换))
new_src=dest
new_dest=队列_master/dest.name.replace(
替换,f“{REPLACEMENT}-从-{NEEDLE}复制”
)
新地址,新地址
shutil.copytree(new\u src,new\u dest)

谢谢,我将尝试一下,我可能应该提到,在我要求的3个python任务中,我的能力最弱。这是一个很好的python学习任务。首先使用“重命名”重命名文件。然后,使用print()尝试os.walk以了解它的功能。然后将两者结合起来:-)如果你想使用bash,你可以尝试使用
rename
命令,比如
find mainfolder10-exec rename s/10/11/g“{}”+
@LeoPolicastro:那么你想得到两个相同的文件副本,一个副本的名称是….10,另一个副本的名称是….11?重点是什么?你在重新发明版本控制吗?不,我需要在谷歌驱动器中复制文件和文件夹,并将它们重命名为我们的下一次迭代。
 for root, dirs, files in os.walk('somepath'):
      ...