Se comprendo correttamente i tuoi requisiti, allora questo script dovrebbe fare ciò che vuoi. Assicurati di cambiare il nome utente sulla prima riga con il tuo nome utente.
set username to "lizzan"
set cy to (year of (current date)) as integer
set cm to (month of (current date)) as integer
set cd to (day of (current date)) as integer
set yd to yesterday(cy, cm, cd)
set yy to item 1 of yd
set ym to item 2 of yd
set yd to item 3 of yd
set yFolder to "Macintosh HD:Users:" & username & ":Documents:To Do:" & yy & ":" & ym & ":" & yd
set cFolder to "Macintosh HD:Users:" & username & ":Documents:To Do:" & cy & ":" & cm & ":" & cd
tell application "Finder"
move every file of folder yFolder to cFolder
end tell
on yesterday(y, m, d)
set d to d - 1
if d ≤ 0 then
set m to m - 1
if m ≤ 0 then
set y to y - 1
set m to 12
end if
set thirtyones to {1, 3, 5, 7, 8, 10, 12}
set thirties to {4, 6, 9, 11}
if m is in thirtyones then
set d to 31
else if m is in thirties then
set d to 30
else if leapyear(y) then
set d to 29
else
set d to 28
end if
end if
set yd to {y, m, d}
return yd
end yesterday
on leapyear(y)
if y mod 4 is 0 then
if y mod 100 is 0 then
if y mod 400 is 0 then
return true
end if
return false
end if
return true
end if
return false
end leapyear
Avvertenza: lo script fallirà (e probabilmente avrà spostato solo alcuni dei tuoi file) se esiste già un file con lo stesso nome nella cartella in cui si sta spostando. Se vuoi sostituire i file in quel caso ed evitare di fallire, aggiungi with replacing
alla fine della riga 18 ( move every ... to cFolder with replacing
).
Modifica da aggiungere: Oh, hai appena visto che l'hai configurato nella tua Dropbox anziché nella cartella Documenti. Basta cambiare i percorsi sulle linee 14 e 15 per riflettere il percorso che stai utilizzando, e dovrebbe andare bene.