1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Hard Drive

Dieses Thema im Forum "OS X-Developer" wurde erstellt von the x-master, 22.02.06.

  1. the x-master

    the x-master Riesenboiken

    Dabei seit:
    29.01.06
    Beiträge:
    290
    Hallo Leute, :)
    also ich möchte ein Script schreiben und es fehlen mir ein paar Fetzen...
    Wie kann ich in AS dem Finder sagen, dass wenn die Speicherkapazität einer Festplatte nur noch (z.b. 20GB) beträgt, er dann (z.b. den Müll entleert).

    Schon mal Danke :-D


    X.
     
    #1 the x-master, 22.02.06
    Zuletzt bearbeitet: 15.05.07
  2. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    14.01.06
    Beiträge:
    366
    Hallo mein Freund ;)

    wie geht's voran?

    Hier die Lösung für die heutige Quizfrage:

    Code:
    set capacitylimit to 20 * 1024 * 1024 * 1024
    tell application "Finder"
    	set myvolumes to (disks whose local volume is true)
    	repeat with thevolume in myvolumes
    		if free space of thevolume < capacitylimit then
    			display dialog "Volume " & ((name of thevolume) as string) & " hat weniger als 20 GB Restkapazität - möchtest du jetzt den Papierkorb leeren?" buttons {"Ja", "Nö"}
    			if button returned of result = "Ja" then empty trash
    		end if
    	end repeat
    end tell
    
    Das Skript ist natürlich schwachsinn, denn wir wollen den Papierkorb ja nicht jedesmal leeren - aber du machst da schon was draus ;)

    Grüße,

    Daisy
     
  3. Dante101

    Dante101 Ralls Genet

    Dabei seit:
    11.10.05
    Beiträge:
    5.052
    *lol* - Buttons "ja" "Nö"? ;)
     
  4. the x-master

    the x-master Riesenboiken

    Dabei seit:
    29.01.06
    Beiträge:
    290
    vielen Dank Daisy,
    kannst du mir auch sagen, wie man ihm nur ein bestimmtes volume gibt?

    Das geht leider nich...

    Code:
    set capacitylimit to 20 * 1024 * 1024 * 1024
    tell application "Finder"
    	set myvolumes to (disks whose local volume is "HD")
    	repeat with thevolume in myvolumes
    		if free space of thevolume < capacitylimit then
    			display dialog "Volume " & ((name of thevolume) as string) & " hat weniger als 20 GB Restkapazität - möchtest du jetzt den Papierkorb leeren?" buttons {"Ja", "Nö"}
    			if button returned of result = "Ja" then empty trash
    		end if
    	end repeat
    end tell
    Na klar, das war ja auch nur ein kleines Beispiel...;)

    Yoahhr es geht voran...
     
  5. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    14.01.06
    Beiträge:
    366
    War dir Frage jetzt ernst gemeint???? Doch eher nicht, oder ...
    set capacitylimit to ...
    tell app "Finder"
    if (free space of volume "Macintosh HD" < capacitylimit) then empty trash
    if (free space of startup volume < capacitylimit) then empty trash
    end tell

    ;) Daisy
     
  6. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    14.01.06
    Beiträge:
    366
    LOL - jetzt seh' ich das erst ;)

    dat kann ja nicht gehen ...

    Zur Erläuterung:
    'local volume' ist eine Eigenschaft von 'disk', die wahr (=true) oder falsch (=false) sein kann - damit habe ich im obigen Skriptbeispiel einfach nur eine Liste aller lokalen Volumes erstellt. Um das auf ein Volume einzugrenzen (was dann auch Blödsinn wäre, denn es geht ja einfacher) hättest du sowas schreiben müssen:

    ... to (disks whose name is "HD")

    Das erstellt dann eine Liste mit genau einer Disk*, nämlich der, die 'HD' heisst.
    *sofern du nicht mehrere disks mit dem Namen 'HD' hast.

    Grüße,

    Daisy
     
  7. the x-master

    the x-master Riesenboiken

    Dabei seit:
    29.01.06
    Beiträge:
    290
    Danke, das war die Antwort, die ich hören wollte... :)

    X.
     
    #7 the x-master, 23.02.06
    Zuletzt bearbeitet: 15.05.07
    1 Person gefällt das.

Diese Seite empfehlen