(* SavePrecious items
Luo käynnistyslevylle kansio "Säästettävää". linkitä kansioon säästettäviä kohteita, esim.
Eudora Folder ja selaimen kirjanmerkit ja keksit aliaksilla.
Aliasten luontia helpottaa oheinen skripti "SetPrecious".
Skripti tekee varmuuskopiot tiedostoista, joihin aliakset viittaavat. Hyvä rutiini
vaikkapa ennen järjestelmän asennusta. Tallenna Skriptieditorilla ohjelmaksi. Jos ohjelma
keskeytyy virheeseen, lisää sen muistivarausta Finderin "Näytä tietoja" -komennolla.
2000 Tuomas Rosberg <vanhentunut>
Lähdekoodi on ilmaista ja tarkoitettu yleiseen käyttöön (public domain).
Sitä lainattessa kirjoittajan nimi on mainittava.
Koodilla ei ole mitään takuuta, ja sen sisältävää ohjelmaa käyttävät
toimivat omalla vastuullaan.
*)
property backUpFolder : ""
on run
tell application "Finder"
if (exists of folder "Säästettävää" of startup disk) is false then
make new folder at startup disk with properties {name:"Säästettävää"}
set theFolder to folder "Säästettävää" of startup disk
open theFolder
set position of window of theFolder to {15, 50}
set view of window of theFolder to 2
display dialog ¬
"Laita avoimeen kansioon aliaksia kohteista, jotka haluat säästää. Aja sitten tämä ohjelma uudestaan." buttons ¬
"OK" default button 1
else -- "käynnistyslevy:Säästettävää:" on olemassa
set theFolder to folder "Säästettävää" of startup disk
if backUpFolder is "" then
my askFolder()
end if -- backUpFolder on valittu.
set theOriginals to {}
set theItems to every item in theFolder
if theItems is not {} then -- kansiossa on aliaksia.
repeat with i in theItems
if kind of i is not "alias" then
set theOriginals to theOriginals & i
else
try
set theOriginals to theOriginals & (original item of i)
on error errr
my anError(errr)
end try
end if
end repeat
if exists of backUpFolder then -- backUpFolderin levy on työpöydällä (ellei ole, Finder pyytää).
try
duplicate theOriginals to backUpFolder with replacing
on error errr
my anError(errr)
end try
open backUpFolder
set position of window of backUpFolder to {25, 60}
set view of window of backUpFolder to 2
end if
else -- kansiossa ei ole mitään.
display dialog "Varmuuskopioitavaksi ei ole valittu mitään" buttons "OK" default button 1
end if
end if
end tell
return true
end run
on anError(errr)
display dialog "Tapahtui virhe:" & errr buttons "OK" default button 1
end anError
on askFolder()
tell application "Finder"
repeat
set proposedFolder to (choose folder with prompt ¬
"Valitse kohde, johon varmuuskopiot tehdään.")
set theDisk to disk of proposedFolder
if startup of theDisk is true then
display dialog ¬
"Kannattaa varmuuskopioida muulle kuin käynnistyslevylle." buttons ¬
{"Jatka", "Takaisin"} default button "Takaisin" with icon caution
if button returned of result is "Jatka" then -- Käyttäjä valitsi kuitenkin käynnistyslevyn.
set backUpFolder to proposedFolder
exit repeat
end if
else
set backUpFolder to proposedFolder
exit repeat
end if
end repeat
end tell
end askFolder