Hejsan!

Nu har jag lärt mig att flytta omkring filer och mappar. Här är ett script som städar upp på skrivbordet (och vem behöver inte ett sådant). Som det är skrivet så sorterar det in objekt efter ett par filtyper i en ny mapp som kallas för junk, men man kan tänka sig både enklare och kortare script. Ett alternativ är helt enkelt att strunta i sorteringen, ett annat är att bara skapa en mapp med dagens datum osv.

Här är det!

Citat:

code:<pre style="font-size:x-small; font-family: monospace;">(*
----------------------------------------------------------------
Experimental Clean up desktop script
----------------------------------------------------------------
© Intelligent Mammals HB, Ola Andersson, 2002-09-05
Ola@intelligentmammals.com
http://www.intelligentmammals.com/

Detta script skapar en mapp "Junk" på skrivbordet om den inte finns.
In den mappen skapas sedan tre mappar till "Bilder", "PDF" och
"Other stuff" om de heller inte finns.

Sedan flyttas alla frivsvävande objekt från skrivbordet in i sina
respektive mappar och scriptet avslutar med att städa skrivbordet.

Skrev det dels för att jag alltid verkar få en massa junk på skrivbordet
och dels för att lära mig skapa mappar och flytta omkring saker.

*)

tell application "Finder"
(*
Skapa mappen "Junk" på skrivbordet om den inte finns.
*)
set thefolder to "Junk"
if exists folder thefolder then
set thefolder to item thefolder as alias
else
make new folder with properties {name:"Junk"}
set thefolder to result
end if



(*
Skapa mappen "Bilder" i mappen "Junk" på skrivbordet om den inte finns
*)
set imagefolder to ((thefolder as string) & ("Bilder" as string))
if exists folder imagefolder then
set imagefolder to item imagefolder as alias
else
make new folder at thefolder with properties {name:"Bilder"}
set imagefolder to result
end if

(*
Skapa mappen "PDF" i mappen "Junk" på skrivbordet om den inte finns
*)
set pdffolder to ((thefolder as string) & ("PDF" as string))
if exists folder pdffolder then
set pdffolder to item pdffolder as alias
else
make new folder at thefolder with properties {name:"PDF"}
set pdffolder to result
end if

(*
Skapa mappen "Other Stuff" i mappen "Junk" på skrivbordet om den inte finns
*)
set otherfolder to ((thefolder as string) & ("Other stuff" as string))
if exists folder otherfolder then
set otherfolder to item otherfolder as alias
else
make new folder at thefolder with properties {name:"Other stuff"}
set otherfolder to result
end if


(*
Tag fram en lista på vad som ligger på skrivbordet.
Om jag skrivit "get items" så får jag även processer och det ger
ett error senare. Om jag skrivit "get all items of desktop folder",
en syntax som fungerar med alla andra mappar så får jag ett error direkt.
Men nedanstående syntax fungerar.
*)
set theFilesandFolders to every file & every folder

(*
Börja en repetition med alla objekt av typen filer och foldrar.
*)
repeat with aFileorFolder in theFilesandFolders

(*
Med hjälp av Events-fönstret så ser jag vilket resultat kommandona
every file och every folder får. De objekt jag vill skall ligga kvar på skrivbordet
lägger jag helt enkelt till i listan "theregulars" nedan.
*)
set theregulars to {trash, startup disk, item "Tektronix Phaser 840N Sickla", ¬
item "EPSON EPL-5800 Sickla", item "Virtuell skrivare", item "Junk", ¬
item "HP Laserjet 2100 PS", item "HP Laserjet 2100 PS (IR)", desktop}

(*
Här är bildformaten som stöds av detta script.
*)
set imageTypes to {"GIFf", "JPEG", "XBMm", "BMPp", "EPSF", "TIFF", "PICT"}

(*
Om inte filen/mappen finns med i listan på "regulars" ovan så skall den i mappen Junk.
*)
if aFileorFolder is not in theregulars then

(*
Bilder skall in i "Bilder" osv...
*)
if file type of aFileorFolder is in imageTypes then
set destination to imagefolder as alias
else if file type of aFileorFolder = "PDF " then
set destination to pdffolder as alias
else
set destination to otherfolder as alias
end if

(*
Flytta mappen/filen
*)
move aFileorFolder to folder destination
end if

end repeat

(*
Städa upp skrivbordet
*)
clean up all


end tell</pre>