在Mac OS上使用JXA发送到垃圾箱

时间:2017-12-19 20:10:20

标签: javascript macos automation jxa

所以我一直在寻找答案并且没有运气。是否可以使用Mac Automation中的JXA将文件发送到垃圾箱?我的简单测试代码如下所示:

// set startup applications that this script will use
var app = Application.currentApplication()
var finder = Application("Finder");
app.includeStandardAdditions = true 


function openDocuments(droppedItems)
{
    // Variables
    var AllFiles = [] // array to store all files in.

    for (var item of droppedItems)
    {
        AllFiles.push(item) // load each file into array
    }

    // go through each file in the list
    for (var i = 0; i < AllFiles.length; i ++)
    {
        // move to the trash
        finder.move(Path(AllFiles[i]), {
                to: Path("/Users/usr/.trash"),
                replacing: true
            })
    }
}

这只是我正在构建的测试,它应该将我放到它上面的任何文件发送到垃圾箱,但它不会将.trash识别为有效的文件夹位置。我已经用其他文件夹对它进行了测试,这确实有效,所以我假设.trash被锁定了。

1 个答案:

答案 0 :(得分:0)

我认为您需要通过标准添加 pathTo 命令引用垃圾箱文件夹

例如,要将Finder中当前选定的文件发送到“废纸篓”,可以使用此类功能。

(() => {
    const
        ca = Application.currentApplication(),
        sa = (ca.includeStandardAdditions = true, ca),
        app = Application('Finder'),
        seln = app.selection();

        app.delete(seln[0])
})();