Applescript将传入的图片拖延到其他文件夹

时间:2017-12-07 19:52:32

标签: macos applescript

我是一个苹果菜鸟。所以我对这种类型的编码一无所知。

我想为监视文件夹制作一个脚本。我使用处理图像的图像程序。这个过程需要一秒钟才能创建jpg。因此文件夹必须等待几秒钟才能将图像移动到另一个文件。

所以我正在寻找:空文件夹 - 文件夹中的jpg - 等待2秒 - 将jpg移动到另一个文件夹 - 空文件夹。

谢谢!

2 个答案:

答案 0 :(得分:1)

AppleScript将完成您的要求。根据AppleScript的本质,阅读它应该非常自我解释每行的作用:

    on adding folder items to ThisFolder after receiving SomeFiles
        set ThatFolder to POSIX file "/path/to/new/folder"

        delay 2

        repeat with TheFile in SomeFiles
            tell application "Finder" to ¬
                if name extension of (TheFile as alias) is in {"JPG", "JPEG"} then ¬
                    move TheFile to ThatFolder
        end repeat
    end adding folder items to

这是作为文件夹操作运行的,它使您选择的文件夹由MacOS自动监控,这样,只要它检测到对该文件夹的更改,它就会执行附加到它的脚本。在这种情况下 - 您可以从脚本的第一行推断 - 每次将文件添加到相关文件夹时,这将自动运行。

设置文件夹操作:

  1. 将上面的AppleScript复制到脚本编辑器中。编辑第二行,将" / path / to / new / folder" 替换为您希望移动jpeg的新文件夹的路径(保留引号)。我不打算尝试从编辑器内部运行脚本 - 它不会起作用。您输入的路径必须完整,即" / Users / Richard / Pictures / Processed" 而不是"〜 /图片/加工"
  2. 保存为您喜欢的任何内容。但是,必须保存在以下目录中:〜/ Library / Scripts / Folder Action Scripts 其中〜表示您的 Home 文件夹(即< em> / Users / Richard / 或其他任何东西)。如果文件夹&#34;文件夹操作脚本&#34; 不存在,请创建它。
  3. 关闭脚本编辑器。导航到要观看的文件夹,即图像最初将等待的文件夹。现在导航一级,进入包含所述文件夹的目录。
  4. 右键单击该文件夹,将鼠标悬停在底部的服务菜单项上。然后选择文件夹操作设置...
  5. 通过选中顶部的框启用文件夹操作。如果您的文件夹尚未显示在左侧列表中,则可以添加该文件夹。然后,在右侧列表中,点击&#39; +&#39;在底部,您刚刚保存的脚本应该是弹出的脚本列表中的众多脚本之一。选择它并添加它。
  6. 确保已选中受监视文件夹旁边的复选框和所选脚本,并且您已完成。
  7. 现在,只要文件夹收到任何文件,就会执行该脚本。该脚本会将任何扩展名为.jpg或.jpeg的文件移动到新文件夹中。只需确保新文件夹已经存在(如果不存在,我没有合并一行来创建它;脚本只会抛出错误并且您的图像无法移动)。

答案 1 :(得分:0)

这是一个小样本脚本,您可以将其保存在桌面上monitor

#!/bin/bash

# Source directory to watch and destination directory to copy to
SRC="$HOME/Desktop/source"
DST="$HOME/Desktop/dest"

# Create directories if not existent 
mkdir -p "$SRC" "$DST"

while : ; do
   find "$SRC" -type f -iname "*.jpg" -Btime +2s -exec mv {} "$DST" \;
   sleep 5
done

它基本上会监视一个名为Desktop/source的目录,并查找名称以"JPG"结尾并且在过去2秒内未被修改的任何文件。如果找到,则将它们移动到名为Desktop/dest的目录,并在再次检查之前休眠5秒钟。

您需要启动终端并输入以下命令使脚本可执行:

chmod +x $HOME/Desktop/monitor

然后,只要您希望它运行,只需双击桌面上monitor的图标即可。