Wenn Sie den Finder verwenden, um zu suchen, wenn Ihr Ordner nur einige hundert Dateien enthält, ist das OK. Wenn Sie jedoch in einem Ordner mit Tausenden von Dateien suchen möchten, dauert der Finder zu lange. In diesem Fall ist es besser, den Shell-Befehl 'find' zu verwenden, der viel schneller ist.
Syntax des Befehls find ist: Verzeichnis/-name target_file_name
Noch mehr finden, können Sie Kette, die mit -exec fonction Befehl, das Ergebnis des Fundes verwendet wird, etwas zu tun: in Ihren Akten gefunden kopieren im Bilderordner.
In -exec Befehl das {} bedeutet die Datei gefunden. Der Befehl shell copy lautet cp.
Das endet mit: find/Users/myUserName/-name 'extended image name.jpg' -exec cp {} \;
(Anmerkung: die \, sagt dem System, das das Ende des exec-Befehl ist)
Insgesamt können Sie diesen Befehl in Applescript laufen über do Shell-Skript:
set Source to POSIX path of (path to home folder)
set Dest to POSIX path of (path to pictures folder)
set TargetName to "extended image name.jpg"
set BackSlash to ASCII character 92
set SemiCol to ASCII character 59
try
do shell script "find " & Source & " -name " & quoted form of TargetName & " -exec cp {} " & Dest & " " & BackSlash & SemiCol
end try
Es ist viel mehr als Finder-Syntax, sondern auch viel schneller zu laufen!
Anmerkungen:
1) der POSIX Pfad wandeln den Finder Pfad mit: Pfad Schale mit/
2) die Aufkantung und SemiCol eingestellt \ und; . Dies ist ein Workaround um zu vermeiden, dass der Applescript-Compiler das \ während der Kompilierung falsch interpretiert.
3) Das Skript do shell befindet sich in try/end try Block, um Fehler zu vermeiden."Find" gibt Fehler, wenn Sie versuchen, auf Dateien ohne Erlaubnis zuzugreifen. Solche Fehler werden ignoriert.
4) Mit dieser Methode können Sie Source durch "/" ersetzen. Dabei sucht der Fund in allen Verzeichnissen des Hauptlaufwerks (es kann einige Zeit dauern!). Wenn Sie nach allen Benutzern suchen möchten, setzen Sie Source auf "/ Users /"
Dies beantwortet Ihre Frage nicht, aber diese Zeile von _code_ kann geschrieben werden als: 'move (jedes Element von (Pfad zum Home-Ordner) who name ist "extended image name.jpg") zum pfad zum bilderordner " – user3439894
@ user3439894 even' (pfad zum homeordner) 'kann durch' home' ersetzt werden – vadian