AppleScript-将文件夹从一个位置复制到另一个位置时排除某些文件

AppleScript-将文件夹从一个位置复制到另一个位置时排除某些文件,applescript,Applescript,我有一个AppleScript,它正在将源文件夹的内容复制到目标文件夹。我现在需要添加一些条件逻辑,这样它就可以从源文件夹中排除某些文件,而不会跨所有文件/文件夹进行复制 以下是我当前的脚本: set here to POSIX file "/Users/benny/Desktop/Projects/Source/Project1" set there to POSIX file "/Users/benny/Documents/Masters" tell

我有一个AppleScript,它正在将源文件夹的内容复制到目标文件夹。我现在需要添加一些条件逻辑,这样它就可以从源文件夹中排除某些文件,而不会跨所有文件/文件夹进行复制

以下是我当前的脚本:

set here to POSIX file "/Users/benny/Desktop/Projects/Source/Project1"
set there to POSIX file "/Users/benny/Documents/Masters"

tell application id "com.apple.Finder" to duplicate ¬
             every item in the folder here to there
我想添加一些逻辑,以便它不会在这些文件之间复制:

Import.log
Recover.log

尚未尝试在此处使用语法,但到目前为止还无法解决如何按文件名排除文件。

duplicate
命令包装在
try
语句中,因为如果
中已存在同名项,则会出错。您可以用replacement取消对
的注释,并去掉
try
语句,也就是说,如果可以替换现有项的话

在此设置为POSIX文件“/Users/benny/Desktop/Projects/Source/Project1”
将其设置为POSIX文件“/Users/benny/Documents/Masters”
告诉应用程序id“com.apple.Finder”
将这些项目设置为参考——
(名称不等于“Import.log”和
名称不等于此处文件夹的“Recover.log”)
尝试
将这些项目复制到那里--替换
结束尝试
结束语

不错。对于感兴趣的读者来说,Finder是为数不多的可编写脚本的应用程序之一,这些应用程序允许
过滤器将单个属性与指定的值列表进行比较。因此,允许这样做:
…其名称不在{“Import.log”、“Recover.log”}…
。有时它会非常有用。