Schleifen Fragen

swizz

Aktives Mitglied
Thread Starter
Dabei seit
15.04.2008
Beiträge
475
Reaktionspunkte
6
Hallo,

gibt es eine Schleife bei Appleskript, wo man für die Laufvariable eine Liste anlegen kann also ungefähr sowas?

Code:
repeat with i in ("hallo","yes","nein")
	say i
end repeat

Wie wäre da die korrekte Syntax, falls es sowas gibt?
 
Code:
set theList to {"a", "b", "c"}

repeat with nItem in theList
	say nItem
end repeat

Code:
set theList to {"a", "b", "c"}
set theListCount to (count of theList)

repeat with xCounter from 1 to theListCount
	say (item xCounter of theList)
end repeat

Viele Grüße

Nachtrag:

Schreib ja nicht sowas, wie...
Code:
repeat with xCounter from 1 to (count of theList)
 
Danke, leider hat sich das gerade irgendwie überholt


Ich habe ziemlich viele Avi-Videos und habe mir dieses Skript gebaut um die in Mov zu konvertieren, damit ich sie in ITunes verwalten kann. Neben Videos 1 gibt es noch Videos2, Videos 3 bis Videos12.

Ich wollte jetzt noch eine Schleife drumrumbauen wo Ordner die Zählvariable ist und alle Ordnernamen durchläuft.

Leider ist mir das Skript schon beim Durchlauf mit nur einem Ordner abgeschmiert, weil es eine Zeitüberschreitung gab.

Kann man da irgendwas gegen machen?
Code:
set Ordner to "Volumes:externe_platte_groß:Medien:Videos1" as string
tell application "System Events"
	set these_files to every file of folder Ordner
end tell
repeat with i from 1 to the count of these_files
	set this_file to (item i of these_files as alias)
	tell application "Finder" to set fileName to name of this_file
	set this_info to info for this_file
	set quelldatei to Ordner & ":" & fileName
	set zieldatei to Ordner & ":" & fileName & ".mov"
	tell application "QuickTime Player"
		open file quelldatei
	end tell
end repeat
repeat with i from 1 to the count of these_files
	set this_file to (item i of these_files as alias)
	tell application "Finder" to set fileName to name of this_file
	set this_info to info for this_file
	set quelldatei to Ordner & ":" & fileName
	set zieldatei to Ordner & ":" & fileName & ".mov"
	tell application "QuickTime Player"
		if window 1 exists then
			save window 1 in file zieldatei
			close window 1
		end if
	end tell
end repeat
say "ready"
 
Ich schreibe Dir was Du nicht machen sollst (nur für der guten Stil) und Du präsentierst mir dann genau das.
Danke.

Was Du benötigst ist: with timeout of 60 seconds

Viele Grüße
 
Sorry nicht angegriffen fühlen. Das Skript bestand so schon vor deinem Posting. Das war das erstemal das ich mich mit Applescript beschäftigt habe und die meisten Codeblöcke sind irgendwo zusammen geklaut. Daher habe ich (noch) nicht auf schönen Stil geachtet.

Danke für den Tip mit dem Timeout.
 
Hallo,
ich habe noch mal eine Frage. Eigentlich klappt es jetzt alles ganz gut, aber ich habe leider noch ein kleines Problem.

Diese Zeile
Code:
	set these_files to every file of folder Ordner
ordnet ja meiner Variable these_files irgendwie alle Dateinamen zu, die sich im Ordner befinden. Darüber lasse ich dann eine Schleife laufen, so das er das öffnen und abspeichern für alle Files im Ordner macht. Leider versucht er jetzt auch immer die Datei .DS_Store die sich ja in jedem Ordner befindet zu öffnen. Kann man irgendwie einstellen dass Applescript nur nicht versteckte Dateien verwendet oder nur Dateien mit einer bestimmten Endung?
 
Zurück
Oben Unten