AppleScript - Wie suche ich nach einem String?

438
ace973

Ich versuche, das Ergebnis eines AppleScript zu durchsuchen, um festzustellen, ob eine Zeichenfolge angezeigt wird.

Diesen Code ausführen:

tell application "System Events" to tell process "Box Sync" to ¬ tell menu bar item 1 of menu bar 2 click get menu items of menu 1 set myStatus to menu items of menu 1 set myResult to result return myResult  end tell 

Ergebnisse in:

 

Jetzt möchte ich dieses Ergebnis durchsuchen, um zu sehen, ob "Files Synced" vorhanden ist. Jedoch läuft

 myResult contains "Files Synced" 

Gibt mir noch einmal einen Ausdruck des gesamten Ergebnisses. Wie kann ich dieses Ergebnis durchsuchen, um festzustellen, ob eine Zeichenfolge vorhanden ist?

1

1 Antwort auf die Frage

0
CJK

Sie haben beide Male den gleichen Ausdruck, weil Sie die return myResultZeile nach dem ersten Durchlauf nicht entfernt haben. returnbeendet immer ein Skript, wenn es diesen Befehl erreicht.

Change Ändern Sie zusätzlich Folgendes:

 set myStatus to menu items of menu 1 

zu diesem:

 set myResult to name of menu items of menu 1 

▸ Löschen Sie diese Zeile:

 get menu items of menu 1 

und diese Zeile:

 set myResult to result 

(Sie machen buchstäblich nichts.)

Dein letztes Skript wird so aussehen:

 tell application "System Events" to tell process "Box Sync" to ¬ tell menu bar item 1 of menu bar 2 click set myResult to name of menu items of menu 1 myResult contains "Files Synced" end tell 

die zurückkehren trueoder false.

Alternativ ohne explizite Variablendeklarationen (und Verwendung der vordefinierten AppleScript- resultVariablen):

 tell application "System Events" to tell process "Box Sync" to ¬ tell menu bar item 1 of menu bar 2 click get the name of menu items of menu 1 result contains "Files Synced" end tell 

Wenn Sie weitere Informationen benötigen oder weitere Fragen haben, zögern Sie nicht, einen Kommentar zu hinterlassen. Ich werde mich dann mit Ihnen in Verbindung setzen. Bitte erwägen Sie, diese als akzeptierte Antwort auszuwählen, wenn dies zur Lösung Ihres Problems beiträgt.