是否可以让 Picasa 使用特定的日期相关模式将相机中的照片导入子文件夹?

是否可以让 Picasa 使用特定的日期相关模式将相机中的照片导入子文件夹?

我的磁盘上有以下照片文件夹结构:

'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

适用通常的免责声明...

相关内容