(* Varmuuskopiot 1.0
Skripti tekee kaksi varmuuskopiota sen kuvakkeelle pudotetuista tiedostoista tai kansioista.
Varmuuskopioidessa saman nimiset vanhemmat kohteet korvataan uudemmilla versioilla.
Ensimmäisellä kerralla ajettaessa skripti pyytää valitsemaan kaksi kansiota varmuuskopioita varten.
Kannattaa valita eri levyillä sijaitsevat kansiot. Levyn puuttuessa (esim. vaihtolevy ei
ole asemassaan) skripti kysyy sitä.
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 usedBefore : false
property folder1 : {}
property folder2 : {}
on run -- Käynnistys kaksoisosoittamalla tai Omenavalikosta.
if usedBefore is true then
display dialog "Vedä ja pudota tiedostoja tämän ohjelman kuvakkeelle." & return & return & ¬
"Niistä tehdään varmuuskopiot valittuihin kansioihin." buttons "OK" default button 1 with icon note
else -- Varmuuskopioille ei ole valittu kansioita.
my kysyTiedot()
set f1 to folder1 as text
set f2 to folder2 as text
if f1 is not "" then
if f2 is not "" then
display dialog ¬
"Kansiot varmuuskopioille ovat " & f1 & " ja " & f2 & "" & return & ¬
"Vedä ja pudota tiedostoja ohjelman kuvakkeelle, ja se tekee varmuuskopiot." & return ¬
buttons "Lopeta" default button 1
end if
end if
end if
end run
on open (lista) -- Käynnistys pudottamalla tiedostoja kuvakkeelle.
if usedBefore is false then -- Varmuuskopioille ei ole valittu kansioita.
my kysyTiedot()
end if
if usedBefore is true then
set delims to AppleScript's text item delimiters
set AppleScript's text item delimiters to ":"
display dialog "Varmuuskopiokansioissa mahdollisesti" & return & ¬
"olevat saman nimiset tiedostot" & return & ¬
"korvataan uusilla versioilla." buttons {"Peruuta", "OK"} default button "OK" with icon caution
if button returned of result is "OK" then
tell application "Finder"
if disk of folder1 exists then
try
duplicate lista to folder1 with replacing
on error errr
display dialog ¬
"Kopiointiyritys keskeytyy. Tulos: " & return & errr buttons "Lopeta" default button 1
end try
else
display dialog ¬
"En löydä levyä " & first text item of (folder1 as text) & "." buttons "Ohita" default button 1
end if
if disk of folder2 exists then
try
duplicate lista to folder2 with replacing
on error errr
display dialog ¬
"Kopiointiyritys keskeytyy. Tulos: " & return & errr buttons "Lopeta" default button 1
end try
else
display dialog ¬
"En löydä levyä " & first text item of (folder2 as text) & "." buttons "Ohita" default button 1
end if
end tell
end if
set AppleScript's text item delimiters to delims
end if
end open
on kysyTiedot()
display dialog "Ohjelma tekee kaksi varmuuskopiota" & return & ¬
"halutuista tiedostoista. Valitse kansio," & return & ¬
"jonne varmuuskopiot sijoitetaan." buttons {"Peruuta", "OK"} default button "OK"
if button returned of result is "OK" then
set folder1 to (choose folder with prompt "Valitse kansio varmuuskopiolle:")
set f1 to folder1 as text
set folder2 to (choose folder with prompt "Valitse kansio toiselle varmuuskopiolle:")
repeat until folder2 is not folder1
display dialog ¬
"Valitse kaksi eri kansiota. " & return & ¬
"Ensimmäinen kansio on " & f1 & "" buttons "Kiitos" default button 1
set folder02 to (choose folder with prompt "Valitse kansio toiselle varmuuskopiolle.")
end repeat
set usedBefore to true -- Kansiot valittu.
end if
end kysyTiedot