Anfänger - AS für Finder?

Yoda

Aktives Mitglied
Thread Starter
Registriert
29.08.2002
Beiträge
1.766
Hallo!

Ich habe mir auch wieder mal vorgenommen mich mit AS beschäftigen - deshalb mal eine kurze Frage - gibt es für AS-Anfänger ein paar Zeilen (Befehle) mit denen man beginnen kann? (pdf-File oder so???) nur mal so zum reinschmökern...

ich hätte gerne mal damit begonnen Files in einen Ordner zu schieben bzw. ev. auch zu löschen... (so kleine Finder-Schachen - und später dann mal weitergehen...)

Danke schon mal

Yoda
 

Snow

Mitglied
Registriert
24.03.2003
Beiträge
262
Hallo Yoda,

auf meiner Seite (Link unten) findest du die deutschen Ausgaben des MacScripter's Magazine. Das dürfte auch in der Classic-Umgebung laufen. Es handelt sich dabei um ein interaktives Tutorial.

Als PDF ist gerade ein Werk in Produktion. Bert Altenburg hat ein ca. 70-seitiges Dokument erstellt, das alles von Anfang an haarklein erklärt. Allerdings bin ich mit der Übersetzung noch nicht fertig. - Es gilt also abzuwarten.

Gruß
 

Andi

Aktives Mitglied
Registriert
16.05.2002
Beiträge
8.897
...

Hallo Snow,

willkommen bei macuser.de

Gruß Andi
 

Yoda

Aktives Mitglied
Thread Starter
Registriert
29.08.2002
Beiträge
1.766
Danke, Snow, das ist wirklich eine super Seite!!!

Wilkommen hier im Forum!!! clap clap clap

@Andi Danke auch für deinen Link!

Gruss aus dem sonnigen Süden carro carro carro

Yoda
 

momo22

Mitglied
Registriert
18.12.2002
Beiträge
135
Hallo Yoda,

ein paar ganz nette Anfängerlektionen gibts auch bei www.mac4ever.de als pdf Dateien zum download.

Du findest sie auf mac4ever.de unter dem Punkt "Tutorials".

mac4ever ist auch sonst eine recht interessante Seite mit einigen guten Infos und Downloads.

viele Grüsse aus dem ebenfalls sonnigen Fernost

Joachim
 

Yoda

Aktives Mitglied
Thread Starter
Registriert
29.08.2002
Beiträge
1.766
Hallo!

Danke für eure Tipps!

ich habe mittlerweile schon etwas herumgespielt, aber das was ich wollte habe ich leider noch nicht gefunden.

könnt ihr bitte nur mal zeigen wie man nachsieht ob ein File vorhanden ist, und wenn ja es in den Müll verschiebt?

ich habe schon etwas herumprobiert, aber leider ohne Erfolg.

so in etwa sah es bei mir die Befehlszeile aus:


move file /Volumes/Daten/Fotos/Foto001 to the trash

zuvor müsste, glaub ich, noch etwas kommen wie

if exist

ich hatte leider noch nicht allzuviel Zeit um mir alles genau anzusehen - wäre super wenn ihr mir bei dieser Kleinigkeit helfen könntet.

Danke

Yoda
 

Snow

Mitglied
Registriert
24.03.2003
Beiträge
262
Hallo Yoda,

hier ein kleines Beispiel:

set theFilePath to "Festplatte:Users:Benutzername:Dokumente:TestDatei.txt"

tell application "Finder"
if file theFilePath exists then
move file theFilePath to trash
end if
end tell


Gruß
 
Zuletzt bearbeitet:

Andi

Aktives Mitglied
Registriert
16.05.2002
Beiträge
8.897
ooch Snow

Hi hab mir extra mühe gegeben...
PHP:
tell application "Finder"
	if the file "Foto001" of folder "Bilder" of home exists then
		
		display dialog "Foto001 löschen?" buttons {"Nein", "Ja"} default button "Ja" with icon note
		if button returned of result = "Ja" then
			delete file "Foto001" of folder "Bilder" of home
			display dialog "Foto001 im Papierkorb" buttons "Hurra" default button "Hurra"
		else
			display dialog "Foto001 nicht im Papierkorb" buttons "Na gut" default button "Na gut" with icon caution
		end if
	else
		display dialog "Yoda Du hast kein Foto001." buttons "Schade" default button "Schade" with icon caution
	end if
end tell

Gruß Andi ;)
 

Yoda

Aktives Mitglied
Thread Starter
Registriert
29.08.2002
Beiträge
1.766
Hallo Snow!

danke für dein Script!

er funktioniert!!!

noch eine Frage:

wie bringe ich ihm bei, dass er, falls ein File mit dem selben Namen schon im Müll liegt es trotzdem dorthin bewegt wird?

@Andi!

das sieht ja auch ganz gut aus - langsam interessiert mich Script immer mehr!!!!

Gewaltig was man damit alles machen kann!!!!

Gruss aus dem sonnigen Süden

Yoda
 

Andi

Aktives Mitglied
Registriert
16.05.2002
Beiträge
8.897
...

Hallo Yoda,

warum willst Du ihm das beibringen? Das file landet als Foto001 Kopie im Papierkorb würd ich jetzt mal so sagen...

Gruß Andi
 

Snow

Mitglied
Registriert
24.03.2003
Beiträge
262
Original geschrieben von Yoda
Hallo Snow!

danke für dein Script!

er funktioniert!!!

noch eine Frage:

wie bringe ich ihm bei, dass er, falls ein File mit dem selben Namen schon im Müll liegt es trotzdem dorthin bewegt wird?
 

Das dürfte doch eigentlich keine Probleme bereiten. Der Finder hängt dann doch einfach den Zusatz "Kopie" an den Dateinamen bzw. nummeriert auch noch mehrere Kopien durch.

Anders sieht die Sache aus, wenn man Objekte in ein anderes Verzeichnis verschiebt. Man muss dann schon eine Aussage treffen, was passieren soll, wenn die Datei bereits existiert.

Am einfachsten wäre noch, evtl. vorhandene Dateien zu ersetzen. Das kann man dann beim "move"-Befehl mit angeben:

move file "Pfadangabe:zur:Datei" to "Pfadangabe:zum:Zielordner:" with replacing

Will man das nicht, sollte man die move-Anweisung in einen "try...on error...end try" Block einbauen. Wenn die Datei also bereits existiert, kommt es zu einem Fehler, der jedoch durch diesen Block abgefangen wird. Im on error Teil kannst du dann festlegen, was im Fehlerfall passieren soll.

Gruß
 

Yoda

Aktives Mitglied
Thread Starter
Registriert
29.08.2002
Beiträge
1.766
mich würde es ja nicht stören, aber ich bekomme eine Fehlermeldung:

"Es existiert bereits ein Objekt mit dem selben Namen an diesem Ort."

noch eine andere Frage:

Kann man das Ergebnisfeld auch deaktivieren?

Danke

Yoda
 

Yoda

Aktives Mitglied
Thread Starter
Registriert
29.08.2002
Beiträge
1.766
Original geschrieben von Snow
 
Am einfachsten wäre noch, evtl. vorhandene Dateien zu ersetzen. Das kann man dann beim "move"-Befehl mit angeben:

move file "Pfadangabe:zur:Datei" to "Pfadangabe:zum:Zielordner:" with replacing

 

Kann man da der Datei auch ein Datum anhängen?

wenn ja, wie müsste dann diese Zeile aussehen?

Danke

Yoda
 

Snow

Mitglied
Registriert
24.03.2003
Beiträge
262
Wenn du ein Datum in den Dateinamen einbinden willst, die du verschieben möchtest, wäre es ratsam, die Namensänderung vor dem Verschieben durchzuführen, da ja sonst wieder der Fehler erscheinen kann, dass die Datei am Zielort bereits existiert.

Zum Einbinden eines Datums habe ich erst vor ein paar Tagen ein Skript gepostet:
Datum in Dateinamen einbinden

Dort müsstest du dann am Ende des "doTheTrick"-Handlers nur noch die Anweisungen zum Verschieben der Datei einbauen.

Gruß
 

Andi

Aktives Mitglied
Registriert
16.05.2002
Beiträge
8.897
verwirrt

Hallo Yoda,

warum ein Datum an die Datei? Damit Du Ordnung im Papierkorb hast?

Oder seh ich jetzt was falsch?

Gruß Andi
 

Snow

Mitglied
Registriert
24.03.2003
Beiträge
262
Original geschrieben von Yoda
mich würde es ja nicht stören, aber ich bekomme eine Fehlermeldung:

"Es existiert bereits ein Objekt mit dem selben Namen an diesem Ort."
 

Mit welcher Systemversion und AppleScript-Version arbeitest du?
 

Yoda

Aktives Mitglied
Thread Starter
Registriert
29.08.2002
Beiträge
1.766
in diesem Forum habe nun auch etwas herumgeschmöckert - wirklich nicht schlecht!!! :)

nun ist mir etwas einfacheres eingefallen - warum nicht früher - zuerst den Papierkorb löschen!!!

wie kann ich es anstellen, dass das Script erst dann weitermacht, wenn er leer ist?

Danke

Yoda
 

Snow

Mitglied
Registriert
24.03.2003
Beiträge
262
Unter OS 9 war die Sache ja noch einfach. Da wurden alle Befehle nach einander abgearbeitet. Das Skript lief erst weiter, wenn die "Bestätigungsmeldung" eines Skriptbefehls eingegangen war.

Mit dem Multithreading wird's stellenweise eben schwieriger, aber nicht unmöglich.
Ich habe gerade mal folgendes erfolgreich getestet:

tell application "Finder"

set trashList to every item of trash
repeat until trashList = {}
empty the trash
set trashList to every item of trash
delay 1
end repeat

set derDateiPfad to ((home) as string) & "Dokumente:TestDatei"

if file derDateiPfad exists then
move file derDateiPfad to trash
-- oder:
-- delete file derDateiPfad
end if

end tell

Vielleicht würde ja schon das delay von 1 Sekunde genügen aber durch die zusätzliche Abfrage der trashList ist es auf jeden Fall sicherer.

Gruß
 

Andi

Aktives Mitglied
Registriert
16.05.2002
Beiträge
8.897
...

Hallo Snow,

der delete befehl geht doch - warum move to trash?
und warum ein datum zum löschen?
ich verstehs nicht!

Gruß Andi
 

Registrierung oder Anmeldung bei MacUser.de

Du musst bei uns Mitglied sein, um einen Beitrag schreiben zu können.

Benutzerkonto erstellen

Erstelle ein kostenloses Benutzerkonto für Macuser.de

Log in

Besitzt du schon ein Benutzerkonto? Hier anmelden.

Oben