Ich bin sehr neu in der Programmierung, also verzeihen Sie mir, wenn dies eine sehr einfache Frage ist, aber ich versuche, einen Automator-Workflow zu erstellen, bei dem sich die Variable mit jeder Schleife ändert und die Eingaben aus einem Textedit-Dokument zieht.
(und außerdem erstelle ich das Textbearbeitungsdokument. Wenn eine andere Formatierung dies einfacher machen würde, lassen Sie es mich wissen.)
Zum Beispiel habe ich ein Textbearbeitungsdokument mit mehreren Zahlen, alle 3 Ziffern, getrennt durch Zeilenumbrüche, wie folgt:
001
005
009
013
014
021
Ich möchte, dass der Automator das erste Mal einen Workflow mit der Variable als „001“ ausführt, dann erneut mit der Variable als „005“, dann ein drittes Mal als „009“ und so weiter. Und wenn es die Dinge einfacher macht, kann ich es so formatieren, dass es in einer Zeile steht, die durch Kommas getrennt und von Klammern umgeben ist, was auch immer am besten ist.
Ich kenne mich ein wenig mit Javascript und AppleScript aus, also wenn das etwas mit einem ausgeführten Javascript- oder AppleScript-Kästchen gelöst wird, ist das total cool. Danke!
Da nicht ganz klar ist, was der volle Umfang dessen ist, was Sie zu erreichen versuchen, ist der folgende Beispiel -AppleScript- Code als Machbarkeitsnachweis gedacht .
Mit einem Nur-Text- Dokumentnamen Filename.txt im Documents- Ordner , der Folgendes enthält:
001
005
009
013
014
021
Da nach der letzten Zeile kein Zeilenvorschub vorhanden ist , können Sie möglicherweise Folgendes anpassen, um Ihr Ziel zu erreichen.
Der unten gezeigte AppleScript- Beispielcode wurde im Skript-Editor unter macOS Catalina getestet, wobei die Sprach- und Regionseinstellungen in den Systemeinstellungen auf Englisch (US) – Primär eingestellt waren, und hat bei mir ohne Problem 1 funktioniert .
AppleScript - Beispielcode
set theFile to ¬
the POSIX path of ¬
(((path to documents folder) ¬
as string) & "Filename.txt")
set myList to ¬
paragraphs of (read theFile)
tell application "TextEdit"
activate
make new document
delay 2
end tell
tell application "System Events"
repeat with thisItem in myList
keystroke thisItem
key code 36 -- # Enter key
end repeat
end tell
Erzeugt Folgendes:
Wenn Sie im Ergebnisbereich des Skript-Editor- Fensters nachsehen , wird Folgendes angezeigt:
tell current application
path to documents folder
--> alias "Macintosh HD:Users:me:Documents:"
read "/Users/me/Documents/Filename.txt"
--> "001
005
009
013
014
021"
end tell
tell application "TextEdit"
activate
make new document
--> document "Untitled"
end tell
tell application "System Events"
keystroke "001"
key code 36
keystroke "005"
key code 36
keystroke "009"
key code 36
keystroke "013"
key code 36
keystroke "014"
key code 36
keystroke "021"
key code 36
end tell
Hinweis: Der Beispiel- AppleScript- Code ist genau das und enthält abgesehen von der enthaltenen Fehlerbehandlung keine zusätzliche Fehlerbehandlung , die angemessen sein könnte. Es liegt in der Verantwortung des Benutzers, eine Fehlerbehandlung hinzuzufügen, die angemessen, erforderlich oder gewünscht ist. Sehen Sie sich die try- Anweisung und die error- Anweisung im AppleScript Language Guide an . Siehe auch Arbeiten mit Fehlern . Zusätzlich kann die Verwendung des Verzögerungsbefehls gegebenenfalls zwischen Ereignissen erforderlich sein, z. B. mitdelay 0.5
dem Wert der Verzögerungpassend einstellen.
kein Hang
Car_SharkHybrid
kein Hang
Car_SharkHybrid