我是一个苹果菜鸟。所以我对这种类型的编码一无所知。
我想为监视文件夹制作一个脚本。我使用处理图像的图像程序。这个过程需要一秒钟才能创建jpg。因此文件夹必须等待几秒钟才能将图像移动到另一个文件。
所以我正在寻找:空文件夹 - 文件夹中的jpg - 等待2秒 - 将jpg移动到另一个文件夹 - 空文件夹。
谢谢!
答案 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自动监控,这样,只要它检测到对该文件夹的更改,它就会执行附加到它的脚本。在这种情况下 - 您可以从脚本的第一行推断 - 每次将文件添加到相关文件夹时,这将自动运行。
现在,只要文件夹收到任何文件,就会执行该脚本。该脚本会将任何扩展名为.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
的图标即可。