Чи можна змусити Picasa імпортувати фотографії з камери у підпапки, використовуючи певний шаблон, пов’язаний із датою?


1

У мене на диску є така структура папок фотографій:

'My Pictures'
|
+--> 'Photos'
     |
     +--> YYYY
          |
          +--> YYYY_MM_DD

Де:

  • РРРР позначає рік, як і 2011 рік
  • ММ позначає місяць, як 04
  • DD позначає день, як 27

Однак, коли я імпортую фотографії за допомогою Picasa, він запитує папку та розміщує всі фотографії у цій папці. На сьогодні мені не вдалося змусити розмістити імпортовані фотографії в структуру папок, які мені подобаються.

Чи взагалі це можливо в Picasa?

Відповіді:


1

Я не міг змусити Picasa зробити це, і в кінцевому підсумку використовую чудовий ExifTool . Цитую:

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.


0

Альтернатива рішенню Сама, якщо ви готові перепробовувати трохи 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

Звичайні відмови від відповідальності застосовуються ...


Як запускати VBS на Mac?
позначка

@mark, я не :)
Benjol
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.