我的磁盘上有以下照片文件夹结构:
'My Pictures'
|
+--> 'Photos'
|
+--> YYYY
|
+--> YYYY_MM_DD
在哪里:
- YYYY 表示年份,例如 2011
- MM 表示月份,例如 04
- DD 表示日期,例如 27
但是,当我使用 Picasa 导入照片时,它会要求提供一个文件夹并将所有照片放在该文件夹中。到目前为止,我还没有让它将导入的照片放入我喜欢的文件夹结构中。
这在 Picasa 中可以实现吗?
答案1
我无法让 Picasa 做到这一点,最后我使用了非常棒的Exif工具。 我引用:
exiftool -r -d %Y/%m/%d/image_%H%M%S.%%e "-filename<filemodifydate" DIR
以递归方式将所有图像DIR
及其包含的子目录重命名为形式image_HHMMSS.EXT
(其中“ext”是原始文件扩展名),并根据文件修改日期将它们移动到新的目录层次结构中,路径名类似2006/03/27/image_105859.jpg
。
答案2
Sam 解决方案的另一种选择是,如果您准备涉足一些 vbs,请将其粘贴到 .vbs 文件中,并根据需要编辑前两行(这实际上会保存到结构中2007/2007-01/2007-01-24
):
trgFolder = "C:\Users\Benjol\Pictures\Current"
srcFolder = "J:\DCIM"
set fso = createObject ("Scripting.FileSystemObject")
set fld = fso.GetFolder(srcFolder)
for each fldr in fld.SubFolders
for each fil in fldr.files
newFolder = CheckFolder(fil.DateCreated)
if fso.FileExists(newFolder & "\" & fil.Name) then
Call fil.Copy (newFolder & "\cpy_" & fil.Name)
else
Call fil.Copy (newFolder & "\" & fil.Name)
end if
'Delete original
Call fil.Delete(true)
next
next
Call Msgbox ("Done copying folders, you can now disconnect " & srcFolder)
Function CreateFolder(trg)
if not fso.FolderExists(trg) then
Call fso.CreateFolder(trg)
end if
CreateFolder = trg
End Function
Function CheckFolder(dt)
y=Year(dt)
m=Right("0" & Month(dt), 2)
d=Right("0" & Day(dt), 2)
CheckFolder = CreateFolder(trgFolder & "\" & y)
CheckFolder = CreateFolder(CheckFolder & "\" & y & "-" & m)
CheckFolder = CreateFolder(CheckFolder & "\" & y & "-" & m & "-" & d)
End Function
适用通常的免责声明...