Can you write folder actions with javascript (jxa)

2019-03-02 06:25发布

问题:

I am looking for a direct translation of AppleScript's

on adding folder items to this_folder

but I can't seem to find it anywhere, neither the usage of the terms or the keyword this_folder itself.

回答1:

Using Automator I could build a Folder Action workflow to display the path of a file moved to a folder using only JavaScript:

function run(input, parameters) {
   var app = Application.currentApplication();
   app.includeStandardAdditions = true;
   var text = "FileName = " + input[0];
   var options = { };
   app.displayAlert(text, options);

   return input;
}

I hope that could help.



回答2:

Folder Actions are defined in Standard Additions. The full syntax for this action is:

on adding folder items to this_folder after receiving added_items

You JXA script should look something like this:

app = Application.currentApplication()
app.includeStandardAdditions = true

function addingFolderItemsTo(this_folder, {afterReceiving:added_items})
{
    app.beep(2)
   // your code here uses this_folder and/or added_items
}

Parameters:

this_folder is an alias to the receiving folder.

added_items is a list of aliases for the dropped items.