Spørsmål:
Skript som sender ut antall e-poster i Mail.app-innboksen
Lorin Hochstein
2011-02-07 21:37:47 UTC
view on stackexchange narkive permalink

Jeg vil gjerne ha et kommandolinjeskript jeg kan påkalle i terminalen som vil sende ut totalt antall meldinger i "Arbeids" -innboksen i mail.app. Bruk vil se slik ut:

  $ inbox-count48  

Hvordan ser Applescript-koden ut for å gjøre noe som dette?

@Iorin: hva er spørsmålet ditt? om det kan gjøres?
@calavera: Leter du etter Applescript-koden. Jeg avklarte spørsmålet.
Hva mener du med "størrelse" antall kilobyte? uleste meldinger? totalt antall meldinger?
@zevlag: totalt antall meldinger. Jeg har oppdatert spørsmålet.
En svar:
Antal Spector-Zabusky
2011-02-07 23:08:33 UTC
view on stackexchange narkive permalink

Hvis du vil få antall meldinger i nevnte innboks, er kortformen for koden

  fortell applikasjonen "Mail" for å få antall meldinger i postkassen "INBOX" av konto "Arbeid"  

Hvis du vil ha den globale innboksen, kan du bruke i stedet for å telle antall meldinger i innboksen . Hvis du bare vil ha uleste meldinger, kan du bruke for å få ulest antall postkasser "INBOKS" for konto "Work" .

Og hvis du vil ha et mer komplett skript, dette vil gjøre susen:

  #! / usr / bin / osascriptproperty defaultAccount: "Work" property defaultMailbox: "INBOX" on run args set justUlest to false set theAccount to missing value set theMailbox to missing verdi hvis defaultAccount = manglende verdi, så sett defaultAccount til "-g" hvis defaultMailbox = manglende verdi, så sett defaultMailbox til "INBOX" sett theCount til antall args hvisCount > 0 så hvis element 1 av args = "-u" så sett justUnread to true set theCount to theCount - 1 sett args til resten av args ellers hvis element 1 av args = "-ug" eller item 1 of args = "-gu" så sett justUnread til true set item 1 of args til "- g "ellers hvis tellingen > 1 og ¬ element 1 av args =" -g "og element 2 av args =" -u ", så sett justUlest til true sett C ount til theCount - 1 sett args til resten av args sett element 1 av args til "-g" slutt hvis slutt hvis fortell applikasjon "Mail" hvis theCount = 0, og sett deretter Account til defaultAccount sett Mailbox til defaultMailbox ellers hvisCount = 1 da sett kontoen til element 1 av args, sett mailboxen til standardpostboks ellers hvis antall = 2, sett deretter kontoen til element 1 av args, sett mailboxen til element 2 av args else feiltegn ID 10 ¬ & "bruk: innboks-telling [-u] [[ konto] postboks] "& karakter-ID 10 ¬ &" innboks-telling [-u] -g [postboks] "slutt hvis
sett mailboxValue til manglende verdi hvisAccount = "-g", og deretter hvis Mailbox = "INBOX", så sett mailboxValue til innboks ellers sett mailboxValue til mailbox theMailbox end hvis ellers sett mailboxValue til mailbox theMailbox of account theAccount end hvis hvis bareLest så returner ulest antall av mailboxValue ellers returnerer antall meldinger av mailboxValue slutt hvis end tellend run  

Det meste er kommandolinjeparsering, fordi det er vondt å komme rett i AppleScript. Men resultatet er at med det skriptet i banen som innboks-teller , fungerer følgende kommandoer:

  • innboks-teller til sjekk antall meldinger i standard postkasse / kontopar.
  • antall innbokser -g for å sjekke antall meldinger i den globale (kombinerte) innboksen.
  • innboks-telling Spill av for å sjekke antall meldinger i standard postkassen for kontoen "Spill av".
  • innboks-count -g Viktig kode > for å sjekke antall meldinger i den globale postkassen "Viktig".
  • antall innbokser Spill Facebook for å sjekke antall meldinger i postkassen "Facebook" for kontoen " Spill av ".

Du kan også legge en -u til noen av disse kommandoene ( f.eks , antall innbokser - u , inbox-count -ug , inbox-count -u Play Facebook ) for å bare få ulest antall. Hvis du vil endre standardkontoen og postkassen, endrer du linjene property defaultAccount: "Work" og property defaultMailbox: "INBOX" . Hvis defaultAccount mangler verdi eller "-g" , vil standard være å ikke bruke en konto; hvis defaultMailbox mangler verdi eller "INBOX" , vil standard være å enten bruke en postkasse med navnet "INBOX" kode> eller, hvis kontoen er "-g" , for å bruke den globale innboksen.

Wow. Jeg skulle bare foreslå noe sånt som `ls /Path/To/MailBox/*.emlx | wc -l` for meldinger i en boks, men din er definitivt det bedre svaret. Takk!
Hvordan får jeg bare ulest antall for en gitt postkasse?Jeg ser ikke ut til å finne et sted å sette "ulest" i den uttalelsen.


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 2.0-lisensen den distribueres under.
Loading...