【发布时间】:2015-07-18 15:36:37
【问题描述】:
我有点束缚和 Applescript 菜鸟。我一直在跌跌撞撞地通过一个脚本,该脚本允许我将 (TemplateFolder) 的内容复制到目录中的所有客户端文件夹中,添加的关键是所有现有客户端的文件夹内容都被移动到文件夹中的文件夹中客户端标记为“旧文件”或类似的东西。到目前为止,我将在我的脚本中包含图像以说明我想要实现的目标。提前感谢大家的帮助。
附:由于我没有所需的代表,因此我必须发布指向我的图片的链接。
第一张图片是模板文件夹(我希望将所有内容复制到每个客户端文件夹中的文件夹)。
第二张图片是现有客户端文件夹的示例,其中包含所有不良结构(或缺少结构)。
最终图像是预期的结果,其中模板文件夹的内容被移动到客户端文件夹中,客户端文件夹的原始内容被移动到名为“旧结构文件”的单独文件夹中。
下面是我在别人的帮助下编写的用于复制内容的applescript。但是,缺少组件和一些需要更改的元素;目前,applescript 只是简单地复制整个文件夹而不仅仅是内容,它只是简单地复制而不是插入,脚本对于整个目录不是递归的,并且没有将现有客户端文件移动到“旧结构文件”中的功能文件夹。再次,非常感谢任何和所有帮助:)
on run
set source_folder to choose folder with prompt "Select folder to be duplicated:" as string
my do_main_script(source_folder)
end run
on open of source_folder_list
repeat with i from 1 to number of items in the source_folder_list
set this_folder_path to item i of the source_folder_list as string
if last character of this_folder_path is ":" then
my do_main_script(this_folder_path)
end if
end repeat
end open
on do_main_script(source_folder)
tell application "Finder" to set source_folder to folder (source_folder)
tell application "Finder" to set the target_folder to (parent of source_folder)
if source_folder is not "" and target_folder is not "" then
set new_folder_name to (name of source_folder as string) & " duplicate"
set source_folder to source_folder as string
set target_folder to target_folder as string
my create_new_folder(target_folder, new_folder_name)
my duplicate_folder_structure(source_folder, target_folder & new_folder_name & ":")
end if
end do_main_script
【问题讨论】:
-
实现此目的的另一种方法可能是转到 Finder 中的客户文件夹并选择所有文件,右键单击并制作现有材料的压缩存档,从而也节省空间。然后分发新模板,从源中复制它们并将它们粘贴到客户目录中......只是一个想法:-)
标签: applescript