Batch/Bulk 使用通配符 [windows 或 linux] 重命名 folders/directories

Batch/Bulk rename of folders/directories with wildcards [windows or linux]

您好,我有一个目录用于存放我的照片,结构为

Pictures/year/month/[dd/mm/yyyy]_描述。

有时我不使用 [dd/mm/yyyy] 而是 [dd/mm/yy] 例如 [22-03-13] 而不是 [22-03-2013].

我需要用命令重命名所有这些,因为有很多东西需要手动更改。

我能够通过使用 "Everything" finder 和

找到它们

"E:\Pictures\" [??-??-13]_*

我喜欢这样的命令:

rename [??-??-13]_* to [??-??-2013]_*

在哪里?和 * 保持不变。这可能吗?非常感谢您的宝贵时间。

PS 我可以使用 Linux 或 Windows。

许多 linux 发行版都带有一个名为 rename 的好工具,它可以满足您的需求。

例如:

$ rename -n 's/(\d{2})-(\d{2})-(\d{2})_(.*)/--20_/' ./*
'./08-01-14_tahiti.jpg' would be renamed to './08-01-2014_tahiti.jpg'
'./14-11-13_guam.jpg' would be renamed to './14-11-2013_guam.jpg'
'./23-07-12_hawaii.jpg' would be renamed to './23-07-2012_hawaii.jpg'