Frage:
Skript, das die Anzahl der E-Mails im Posteingang von Mail.app ausgibt
Lorin Hochstein
2011-02-07 21:37:47 UTC
view on stackexchange narkive permalink

Ich hätte gerne ein Befehlszeilenskript, das ich am Terminal aufrufen kann und das die Gesamtzahl der Nachrichten in meinem Posteingang "work" in mail.app ausgibt. Die Verwendung würde folgendermaßen aussehen:

  $ inbox-count48  

Wie sieht der Applescript-Code aus, um so etwas zu tun?

@Iorin: was ist deine Frage? ob es geht?
@calavera: Auf der Suche nach dem Applescript-Code. Ich habe die Frage geklärt.
Was meinst du mit "Größe" der Anzahl der Kilobyte? ungelesene Nachrichten? Nachrichten insgesamt?
@zevlag: Gesamtzahl der Nachrichten. Ich habe die Frage aktualisiert.
Einer antworten:
Antal Spector-Zabusky
2011-02-07 23:08:33 UTC
view on stackexchange narkive permalink

Wenn Sie die Anzahl der Nachrichten in diesem Posteingang abrufen möchten, lautet die Kurzform des Codes

 . Weisen Sie die Anwendung "Mail" an, die Anzahl der Nachrichten der Mailbox "INBOX" abzurufen. of account "Work"  

Wenn Sie den globalen Posteingang möchten, können Sie stattdessen mit die Anzahl der Nachrichten im Posteingang abrufen. Wenn Sie nur ungelesene Nachrichten möchten, können Sie mit die ungelesene Anzahl der Postfächer "INBOX" des Kontos "Work" abrufen.

Wenn Sie ein vollständigeres Skript wünschen, können Sie dies tun wird den Trick machen:

  #! / usr / bin / osascriptproperty defaultAccount: "Work" -Eigenschaft defaultMailbox: "INBOX" bei Ausführungsargumenten set justUnread auf false setze das Konto auf fehlenden Wert setze die Mailbox auf fehlend Wert, wenn defaultAccount = fehlender Wert, dann setzen Sie defaultAccount auf "-g", wenn defaultMailbox = fehlender Wert, setzen Sie defaultMailbox auf "INBOX", setzen Sie theCount auf die Anzahl der Argumente, wenn theCount > 0, dann, wenn Element 1 von args = "-u", dann setzen justUnread auf true setzen theCount auf theCount - 1 setze Argumente auf den Rest der Argumente, sonst wenn Element 1 von args = "-ug" oder Element 1 von args = "-gu", dann setze justUnread auf true, setze Element 1 von args auf "- g "sonst, wenn theCount > 1 und ¬ Punkt 1 von args =" -g "und Punkt 2 von args =" -u ", dann setze justUnread auf true und setze theC ount to theCount - 1 setze args auf den Rest der args setze Punkt 1 von args auf "-g" end if end wenn setze Anwendung "Mail", wenn theCount = 0, dann setze theAccount auf defaultAccount setze die Mailbox auf defaultMailbox, andernfalls wenn theCount = 1 dann setze das Konto auf Punkt 1 von Argumenten setze die Mailbox auf defaultMailbox sonst wenn theCount = 2 dann setze das Konto auf Punkt 1 von Argumenten setze die Mailbox auf Punkt 2 von Argumenten sonst Fehlerzeichen-ID 10 ¬ & "Verwendung: Posteingang-Anzahl [-u] [[ Konto] Postfach] "& Zeichen-ID 10 ¬ &" Posteingang-Anzahl [-u] -g [Postfach] "Ende wenn
Setzen Sie mailboxValue auf den fehlenden Wert, wenn theAccount = "-g". Wenn theMailbox = "INBOX", setzen Sie mailboxValue auf Posteingang. Andernfalls setzen Sie mailboxValue auf Mailbox. Das Postfachende von mailboxValue else gibt die Anzahl der Nachrichten von mailboxValue end zurück, wenn end tellend run  

Das meiste davon ist Befehlszeilenanalyse, da dies in AppleScript schwierig ist. Das Ergebnis ist jedoch, dass mit diesem Skript in Ihrem Pfad als Posteingangsanzahl die folgenden Befehle funktionieren:

  • Posteingangsanzahl bis Überprüfen Sie die Anzahl der Nachrichten im Standardpaar aus Postfach und Konto.
  • Posteingangsanzahl -g , um die Anzahl der Nachrichten im globalen (kombinierten) Posteingang zu überprüfen.
  • Posteingangsanzahl Wiedergabe , um die Anzahl der Nachrichten in der Standardmailbox für das Konto "Wiedergabe" zu überprüfen.
  • Posteingangsanzahl -g Wichtig um die Anzahl der Nachrichten in der globalen Mailbox zu überprüfen "Wichtig".
  • Posteingangsanzahl Facebook spielen um die Anzahl der Nachrichten in der Mailbox "Facebook" für das Konto zu überprüfen " Spielen ".

Sie können jedem dieser Befehle auch ein -u voranstellen ( z. B. , Posteingangsanzahl - u , Posteingangsanzahl -ug , Posteingangsanzahl -u Spielen Sie Facebook ), um nur die ungelesene Anzahl zu erhalten. Um das Standardkonto und das Postfach zu ändern, ändern Sie die Zeilen property defaultAccount: "Work" und property defaultMailbox: "INBOX" . Wenn defaultAccount fehlender Wert oder "-g" ist, wird standardmäßig kein Konto verwendet. Wenn defaultMailbox fehlender Wert oder "INBOX" ist, wird standardmäßig entweder eine Mailbox mit dem Namen "INBOX" verwendet Code> oder, wenn das Konto "-g" ist, den globalen Posteingang zu verwenden.

Beeindruckend. Ich wollte nur so etwas wie `ls /Path/To/MailBox/*.emlx | vorschlagen wc -l` für Nachrichten in einer Box, aber Ihre ist definitiv die bessere Antwort. Vielen Dank!
Wie erhalte ich einfach die ungelesene Anzahl für eine bestimmte Mailbox?Ich kann anscheinend keinen Platz finden, um 'ungelesen' in diese get-Anweisung zu setzen.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 2.0-Lizenz, unter der er vertrieben wird.
Loading...