Ich habe 0 Ahnung von AppleScript, aber kann es sein das du evtl mit dem Befehl auf den Ordner zugreifst und er nicht gelöscht werden kann, da noch drauf zugegriffen wird ?
Ergebnis 1 bis 10 von 12
- 30.06.2010, 14:33 #1Boskoop
Themenstarter
- Registriert
- 12.2007
- Beiträge
- 37
Prüfung ob Ordner existiert danach löschen Hallo zusammen,
ich brauch ein Applescript was folgendes bewerkstelligt:
- zum Start 10 Sekunden Pause
danach
- Überprüfung ob Ordner existiert wenn Ja dann löschen
andernfalls ENDE.
Ich hab schon gesucht im Netz und leider nur englische Sachen gefunden mit denen ich nich viel anfangen konnte da mein englisch nicht ausreichend ist. Das habe ich bisher zusammengeschrieben, doch leider funktioniert das so nicht. Weiß jemand woran es liegt? Lösungsvorschläge?
Danke und Gruß CrowdyCode:tell application "Terminal" do shell script " sleep 5 if [-d /$USER/mein_pfad/mein_ordner] ; then rm -r /$USER/mein_pfad/mein_ordner; else killall Terminal; fi " end tell
- 30.06.2010, 15:11 #2If ( Pc != Null )
{ If(Pc.Os =="Mac Os")
{ Gut }else { Mist }
}
- 30.06.2010, 15:28 #3Boskoop
Themenstarter
- Registriert
- 12.2007
- Beiträge
- 37
Hi,
ich habe leider auch gegen 0 Ahnung von AppleScript. Soweit wie ich weiß hab ich AppleScript nur angewiesen ein Shellscript auszuführen. Und über dieses Shellscript möchte ich eben mit der IF-Abfrage prüfen ob es den Ordner gibt, wenn es ihn gibt soll er gelöscht werden. Wenn nicht soll er das Script weiter abarbeiten und den Terminal wieder schließen.
- 30.06.2010, 15:36 #4
Ich kann dir anbieten den C# Code dafür zu geben, dank Mono sollte dies auch auf dem Mac funktionieren ( Allerdings habe ich Mono noch nicht wirklich in Verbindung mit C# genutzt )
If ( Pc != Null )
{ If(Pc.Os =="Mac Os")
{ Gut }else { Mist }
}
- 30.06.2010, 19:17 #5Wohlschmecker aus Vierlanden
- Registriert
- 11.2009
- Beiträge
- 236
Hier eine Lösung via Finder:
Code:-- Ordner in Papierkorb verschieben set tFolder to "/Users/Klaus/schrott" as POSIX file tell application "Finder" if (tFolder exists) then delete tFolder end if end tell
Kommunikation -> Kooperation -> Innovation
- 01.07.2010, 09:01 #6Boskoop
Themenstarter
- Registriert
- 12.2007
- Beiträge
- 37
Hallo,
super das ist es was ich benötige! Vielen Dank!
Kann mir noch jemand sagen wie ich eine Variable in dem Script von toc-rox benutzen kann also ich mein das:
also das in den Pfad der Variable tFolder dann der aktuell angemeldete Benutzer steht.Code:set myname_var to do shell script ("whoami") set tFolder to "/Users/myname_var/schrott" as POSIX file
- 01.07.2010, 09:06 #7Boskoop
Themenstarter
- Registriert
- 12.2007
- Beiträge
- 37
Probiert hab ich schon:
aber das funktioniert in dem Fall irgendwie nichtCode:set tFolder to "/Users/" & myname_var as text "/schrott" as POSIX file
- 01.07.2010, 11:24 #8
Warum muss da myname_var ueberhaupt drin sein? Hast du mehrere Benutzer auf deinem Rechner? Laufen die beiden immer gleichzeitig? Waere es da nicht einfach einfacher *zwei* Skripte zu schreiben?
Ansonsten hilft vielleicht die user domain.
- 01.07.2010, 12:47 #9Boskoop
Themenstarter
- Registriert
- 12.2007
- Beiträge
- 37
Hi,
das Script soll für mehrere Hundert OD Benutzer laufen und bei der Anmeldung starten und dabei mehrere Ordner löschen. Deshalb soll er nach der Authentifizierung einfach überprüfen wer gerade angemeldet ist und dann den jeweiligen Benutzerpfad zum Roaming-Profile anpassen.
- 01.07.2010, 14:36 #10
Also bei mir gehts. Es fehlt bei dem zweiten Codeschnipsel in Posting #7 hier in diesem Thread halt ein zweites &. Ist dir das nicht aufgefallen? Der Editor meckert da doch vor jedem speichern rum und laesst dich gar nicht speichern.
(Ich waere trotzdem fuer eine Loesung per user domain Variable...aber das bin wahrscheinlich nur ich)Code:set myname_var to do shell script ("whoami") set tFolder to ("/Users/" & myname_var as text) & "/Desktop/schrott" as POSIX file display dialog tFolder as string tell application "Finder" if (tFolder exists) then delete tFolder end if end tell
PS: Und einen LaunchAgent mit Shell script bei Login faende ich auch schoener.


Zitieren

