Альтернатива решению Сэма, если вы готовы побаловаться с небольшим количеством 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
Обычные заявления об отказе от ответственности применяются ...