• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Ordner wird nicht gefunden...

Mini-Leopard

Rhode Island Greening
Registriert
20.03.08
Beiträge
476
Hey, bitte um Hilfe.


Ich stelle erstmal meinen Code vor:
Code:
tell application "System Events"
	set Papierkorb to folder "~/.Trash/"
	set folder_size to size of folder (info for alias Papierkorb)
	display dialog folder_size
end tell

Das Problem:
System Events gibt den Fehler aus, dass die Datei nicht gefunden wird.

Folgende Version funktioniert:
Code:
tell application "System Events"
	set Benutzer to name of current user
	set Papierkorb to "Macintosh HD:Users:" & Benutzer & ":.Trash:"
	set folder_size to size of (info for alias Papierkorb)
	display dialog folder_size
end tell

Das Problem ist ja nur, dass nicht jedermanns Startup Disk "Macintosh HD" heißt.
Und wenn Ich für den ganzen User-Kram einfach "~/" oder "~:" eingebe (wie es sonst in all meinen Programmen funzt) geht es wieder nicht; kann nicht gefunden werden.

Übersehe Ich einfach nur einen Dummen Fehler, oder gehe Ich das vollkommen falsch an??

Danke für jede Hilfe!
Greez
Mini-Leo.
 

hubionmac

Tydemans Early Worcester
Registriert
25.06.04
Beiträge
393
Folgende Version funktioniert:
Code:
tell application "System Events"
    set Benutzer to name of current user
    set Papierkorb to "Macintosh HD:Users:" & Benutzer & ":.Trash:"
    set folder_size to size of (info for alias Papierkorb)
    display dialog folder_size
end tell

Du könntest den Finder den Pfad für dich bauen lassen, der kennt nämlich den Pfad in den Home-Verzeichnis
Code:
tell application "Finder" to set Papierkorb to (home as text) & ".Trash"
du könnest natürlich auch bei Deiner alten Variante bleiben (UNIX-Pfad-Angabe) und das ganze in einer Zeile lösen, mit Hilfe einer Terminal-Anwendung
Code:
set folder_size_kilobyte to word 1 of (do shell script "du -sk " & unix_path) as integer
das wäre also die coole Deluxe-Lösung ;)
Code:
set unix_path to "~/.Trash"

set folder_size_kilobyte to word 1 of (do shell script "du -sk " & unix_path) as integer
set folder_size_megabyte to round (folder_size_kilobyte / 1024)
set folder_sitze_gigabye to round (folder_size_kilobyte / 1024 / 1024)

display dialog unix_path & return & "ist " & folder_size_kilobyte & " Kilobyte bzw." & return & folder_size_megabyte & " Megabyte bzw." & return & folder_sitze_gigabye & " Gigabyte groß."
 

Mini-Leopard

Rhode Island Greening
Registriert
20.03.08
Beiträge
476
Gut.
Ich ziehe mal ganz bescheiden den Hut und danke viele male für deine Hilfe.
-PERFEKT-
Mehr wollte Ich garnicht.

Noch 'ne Frage.
Ich möchte in einem Fenster nun eine Größe in MB angeben.
Wenn Ich jetzt schreiben 20,35 dann müsste mein Skript verstehen, dass Ich 20350 byte meine.
Ich kann ja nicht einfach das Komma entfernen und eine Null dran hängen, das es auch mal passieren kann, dass 20,356 angegaben wird. Kann AppleScript schon von Natur aus Mbyte in Byte umrechnen??

Danke nochmal
Mini-Leo.
 

hubionmac

Tydemans Early Worcester
Registriert
25.06.04
Beiträge
393
bedenke, 1 MB sind 1024 Kilobyte
und 1 Kliobyte sind 1024 Byte

Nur wenn Du rundungmäßig etwas weg lässt bei der MB-Anhabe kommst Du nicht mehr genau auf den KB Wert zurück....