Automatisering (AppleScript og Snarveier)
Automatisering virker her i begge retninger.
Utover: Peach Commander kan styres med skript, så du kan drive den fra AppleScript og fra Snarveier-appen. En håndfull kjerneverb lar et skript navigere i panelene, merke filer med en maske, kopiere eller flytte gjeldende utvalg og kjøre hvilken som helst Peach Commander-kommando via id-en dens — med nøyaktig de samme handlingene som menyene bruker, slik at et skriptet trinn oppfører seg som et manuelt. Det handler resten av denne siden om.
Innover: Peach Commander kan også kjøre et skript fra deg — AppleScript eller JavaScript — og legge det i en meny, på en knapp eller på en tast. Det krever tillegget Scripting, som leveres avslått; se Kjør dine egne skript nedenfor.
Vil du gjenta en rekke filhandlinger i stedet for én, se Makroer.
Se ordlisten¶
- Åpne Script Editor (i
/Applications/Utilities— «Verktøy» i Finder). - Velg Vindu ▸ Bibliotek, og dobbeltklikk deretter Peach Commander (legg den til med + hvis den ikke er oppført).
- Ordlisten åpnes og lister kommandoene og egenskapene nedenfor.
Første gang et skript styrer Peach Commander, ber macOS deg tillate det (Systeminnstillinger ▸ Personvern og sikkerhet ▸ Automatisering). Godkjenn det én gang, og senere skript kjører uten spørsmål.
Hva du kan lese¶
| Egenskap | Betydning |
|---|---|
active folder |
POSIX-banen til det aktive panelets mappe. |
inactive folder |
POSIX-banen til det andre panelets mappe. |
selection paths |
De valgte elementene i det aktive panelet (eller elementet under markøren). |
Verbene¶
| Kommando | Hva den gjør |
|---|---|
go to "<bane>" [in left\|right] |
Åpne en mappe i et panel (standard: det aktive panelet). |
select "<maske>" |
Velg elementer i det aktive panelet etter en jokertegnmaske, f.eks. *.pdf. |
copy items to "<mappe>" |
Kopier det aktive panelets utvalg til en mappe. |
move items to "<mappe>" |
Flytt det aktive panelets utvalg til en mappe. |
run command "<id>" |
Kjør hvilken som helst kommando etter id-en dens, f.eks. cm_PackFiles. |
Kopier og flytt bruker den samme bakgrunnsoverføringskøen som F5/F6, så fremdrift og eventuelle overskrivingsspørsmål vises nøyaktig som ved en manuell operasjon.
Eksempel¶
tell application "Peach Commander"
go to "~/Downloads" in left
select "*.pdf"
copy items to "~/Documents/PDFs"
return selection paths
end tell
Bruke det fra Snarveier¶
I Snarveier-appen, legg til handlingen Kjør AppleScript og lim inn et skript som det over. Det lar deg folde et Peach Commander-trinn inn i en større Snarvei – for eksempel utløst av en mappeendring eller en hurtigtast.
Kjør dine egne skript¶
Den andre retningen: et skript fra deg, kjørt av Peach Commander.
Dette er et tillegg, og det leveres avslått, fordi det å kjøre et program du velger kan gjøre alt resten av programmet kan, og flere ting som ingenting av det dekker. To brytere, begge av til du setter dem:
- Konfigurasjon ▸ Tillegg… — slå på Scripting.
- Innstillinger ▸ KI — slå på Tillat at skript kjører. Det står på den siden fordi det er samme slags tillatelse som assistentens skall, og de to hører sammen.
Legg deretter et skript i scripts/ inne i konfigurasjonsmappen din — Kommandoer ▸ Åpne skriptmappen tar deg dit og legger igjen et eksempel den første gangen. En fil .applescript, .scpt eller .jxa i den mappen er et skript; det er ingenting å registrere.
Hva et skript får¶
Panelenes tilstand kommer i miljøet, så det vanlige tilfellet trenger ingen Apple-hendelser og ingen tillatelsesforespørsel:
| Variabel | Betyr |
|---|---|
PC_ACTIVE_DIR |
Mappen til det aktive panelet |
PC_TARGET_DIR |
Mappen til det andre panelet |
PC_CURSOR_NAME |
Filen under markøren |
PC_SELECTION_COUNT |
Hvor mange elementer som er valgt |
PC_SELECTION_FILE |
En tekstfil med én valgt sti per linje (mangler når ingenting er valgt) |
set here to system attribute "PC_ACTIVE_DIR"
return "The active panel is showing " & here
Alt utover det går gjennom programmet selv, med verbene ovenfor — de to halvdelene utfyller altså hverandre.
Legge et skript på en knapp eller en tast¶
Hvert skript blir en kommando med navnet plugin.script.run.<navn>, der <navn> er filnavnet uten filendelse (mellomrom og punktum blir bindestrek). Den id-en virker overalt der en cm_*-id virker: i knapperaden, i usercmd.ini, i en .mnu-fil og i Konfigurasjon ▸ Rediger snarveier….
Hvordan et skript kjøres, og tidsgrensen¶
Som standard kjøres et skript som en egen prosess, som betyr at det kan få en tidsgrense og stoppes hvis det overskrider den — tretti sekunder med mindre du sier noe annet. Et skript kan velge å kjøre inne i programmet, som lar det returnere en strukturert verdi og holder det kompilert mellom kjøringer, men da finnes ingen tidsgrense: et skript som går i løkke holder programmet. Angi valget i scripts.json ved siden av skriptene dine:
[
{ "id": "Tidy", "fileName": "Tidy.applescript", "title": "Tidy Downloads",
"language": "AppleScript", "mode": "subprocess", "timeoutSeconds": 60 }
]
Bare det som avviker fra standardverdiene krever en oppføring; en fil uten oppføring får sitt eget navn som tittel, kjøres som egen prosess og stoppes etter tretti sekunder.
Til assistenten¶
Med tillegget på og innstillingen aktivert får assistenten run_applescript, run_jxa og check_script. Hver av dem viser deg det nøyaktige skriptet og venter på din godkjenning før noe kjøres, og ingen av dem tilbys noen gang til en ekstern agent over MCP.
Merknader¶
- Kommando-id-en du sender til
run commander den sammecm_*-id-en som vises i kommandoutforskeren (se Startmenyen og egendefinerte kommandoer). - Skripting handler alltid på det aktive panelet; bruk
go to … in left/in rightførst hvis du trenger en bestemt side. - Peach Commander er en app med ett enkelt vindu, så skript retter seg mot dette vinduets to paneler.