我试图重组包含编辑文件以及原件的照片库。我已经使用Exif排序器实现了所需的文件夹结构,即%UserProfile%\Photos\%year%\%month%\%day%
。
每个%day%
文件夹包含的照片图像文件的名称模式略有不同:
IMG_0001.jpg
ZMGM00002.jpg
ZMGM00003 (Edited).jpg
ZMGM00003.jpg
IMG_0002 (Edited).jpg
IMG_0002.jpg
IMG_0004.jpg
字符串
我希望文件按顺序命名,但保留相关的“(Edited)
”后缀:
DSC_0001.jpg
DSC_0002.jpg
DSC_0002 (Edited).jpg
DSC_0003.jpg
DSC_0004 (Edited).jpg
DSC_0004.jpg
DSC_0005.jpg
型
到目前为止,我想出了正则表达式来重命名“*.jpg
”和“* (Edited).jpg
”,保留它的“后缀”部分,当它存在时(“(Edited)
”)(抱歉,我使用RegexRenamer,因为我是初学者):
- 匹配字符串
^(\D+)(_)?(\d+)(Edited)?
- 替换字符串
DCS_$#$4
然而,我在所有文件中获得了顺序编号,因此编辑文件的相关性丢失了:
DSC_0001.jpg
DSC_0002.jpg
DSC_0003 (Edited).jpg
DSC_0004.jpg
DSC_0005 (Edited).jpg
DSC_0006.jpg
DSC_0007.jpg
型
有没有什么方法可以重命名文件并保留它们之间的文件名“连接”模式,即。所以我得到DSC_0002 (Edited).jpg & DSC_0002.jpg
而不是DSC_0002 (Edited).jpg & DSC_0003.jpg
?
由于我有成千上万的文件夹,重命名应该是追索权和序列应重新启动与每个新的文件夹。我相信这需要PowerShell或批处理脚本来确定所需的条件,但我不确定从哪里开始。我愿意接受这样的想法,也许我可以先通过Excel处理文件名,然后从TXT/CSV文件批量重命名。
附注:我从90年代末开始就有80000张家庭照片,手工处理要花很长时间。我可以在Windows和macOS中运行任何东西来解决这个问题(不过我更喜欢Windows)。
1条答案
按热度按时间hmae6n7t1#
我想回答我自己的问题,因为我在Stefan Trost和他的FileRenamer应用程序的帮助下解决了这个问题。基本上Stefan已经从头开始实现了该功能,并且可以免费提供给每个人。
以下是FileRenamer设置,以防将来有人遇到同样的问题:
字符串
这里是正则表达式和它的设置在主窗口:
型
这将遍历所有子文件夹或文件夹,并根据模式重命名每个文件,并保持唯一的后缀,正如在开幕式上所描述的那样:
型
P.S.这里有一个link我的要求在FileRenamer支持门户网站,所以没有人认为这篇文章是一个广告。