【发布时间】:2012-06-06 06:00:48
【问题描述】:
鉴于以下情况,我需要进行批量重命名:
- 我在文件夹 A 中有一堆文件
- 文件夹B中的一堆文件。
- 文件夹A中的文件都是“.doc”,
- 文件夹B中的文件都是“.jpg”。
- 文件夹 A 中的文件名为“A0001.doc”
- 文件夹 B 中的文件名为“A0001johnsmith.jpg”
我想合并文件夹,并重命名文件夹 A 中的文件,以便它们附加文件夹 B 中匹配文件的名称部分。
例子:
之前:
FOLDER A: Folder B:
A0001.doc A0001johnsmith.jpg
之后:
Folder C:
A0001johnsmith.doc
A0001johnsmith.jpg
我见过一些批量重命名脚本,但唯一的区别是我需要分配一个变量来包含名称部分,以便我可以将它附加到文件夹 A 中相应文件的末尾。
我认为最好的方法是编写一个简单的 python 脚本,该脚本将执行递归循环,对文件夹中的每个项目进行如下处理:
- 解析 A0001.doc 的文件名
- 将字符串与文件夹 B 中的文件名匹配
- 取匹配的字符串之后但在“.”之前的部分。并分配变量
- 取原始字符串 A0001 并附加包含 name 元素的变量并重命名它
- 将两个文件复制到文件夹 C(非破坏性,以防出现错误等)
我正在考虑为此使用 python,但我可以在语法等方面使用一些帮助。我只知道一点使用基本的python库,我猜我会导入诸如“OS”之类的库,也许还有“SYS”。我以前从未使用过它们,任何帮助将不胜感激。我也愿意使用 Windows 批处理脚本甚至 powershell。任何输入都是有帮助的。
【问题讨论】:
标签: python regex batch-file rename