Macos Applescript将传入的图片延迟移动到其他文件夹
我是一个苹果书呆子。所以我对这种类型的编码一无所知 我想制作一个监视文件夹的脚本。我使用一个处理图像的图像程序。创建jpg需要一秒钟的时间。因此,文件夹必须等待几秒钟才能将图像移动到另一个文件 这就是我要找的:空文件夹-文件夹中的jpg-等待2秒-将jpg移动到另一个文件夹-空文件夹Macos Applescript将传入的图片延迟移动到其他文件夹,macos,applescript,Macos,Applescript,我是一个苹果书呆子。所以我对这种类型的编码一无所知 我想制作一个监视文件夹的脚本。我使用一个处理图像的图像程序。创建jpg需要一秒钟的时间。因此,文件夹必须等待几秒钟才能将图像移动到另一个文件 这就是我要找的:空文件夹-文件夹中的jpg-等待2秒-将jpg移动到另一个文件夹-空文件夹 谢谢大家! 下面是一个小脚本示例,您可以将其保存在桌面上,作为监视器: #!/bin/bash # Source directory to watch and destination directory to c
谢谢大家! 下面是一个小脚本示例,您可以将其保存在桌面上,作为
监视器
:
#!/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
图标。这个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的任何文件移动到新文件夹中。只需确保新文件夹已经存在(如果不存在,我不会合并一行来创建它;脚本只会抛出一个错误,您的图像将不会被移动)。这应该一直运行吗?或者当你正在运行另一个图像程序时?为什么是Applescript?它非常冗长,是苹果电脑独有的?就我个人而言,我会使用一个
bash
脚本,它更普遍地适用于Mac和Linux/Unix计算机。比我的更优雅-很好!这就是我要找的!非常感谢我的朋友!我试图使用此方法将图像文件从下载移动到特定文件夹,但它不起作用。@CJK:谢谢您的评论。在新文件夹的路径上,我有一个名为Ph.D.的文件夹。我把它改成了PhD(去掉中间的点),然后它就成功了。