复制文件夹结构并合并子目录

时间:2016-05-09 19:12:54

标签: bash applescript directory automator robocopy

enter image description here我不确定发布这个的最佳位置,希望有人可以建议如果这不对,我已经很长时间浏览了,但这是我的第一篇文章。无论如何..

我需要自动将大量文件夹复制到新位置并合并子目录。

我将使用ABC作为示例文本字符串,它代表公司名称并且是一个常量值。

目前的结构如下:

  • 2012年工作

    • ABC12 001-099
      • ABC12-001
        • JPG文件
        • 原始
        • 网络
        • TIFF格式
      • ABC12-002
      • ABC12-003
      • ...
    • ABC12 100-199
    • ABC12 200-299
  • 2013年工作

    • ...
  • 2014年乔布斯
    • ...

我需要做的是将此结构复制到一个新位置,但将jpgs和web文件夹合并到一个名为jpgs的示例中,将raw和tiffs合并到另一个名为tiffs的文件夹中。

我创建了一个AppleScript来创建文件夹结构,但这些显然都只是空白文件夹,只是复制已经存在的内容并重新开始更容易,打开任何建议,你就是专家!感谢

图像显示之前的结构以及之后的结果: Before and After

1 个答案:

答案 0 :(得分:0)

下面的剧本部分完成了你的需要(我想!)。

它寻找每一个" raw"在您选择的顶级文件夹中(即包含所有" 2012个职位",2013职位",...)的文件夹

对于每个" raw"找到文件夹,它看起来是否在同一级别" tiffs"文件夹已存在(如果没有,则创建它)。

然后它会移动" raw"中的所有文件。到了" tiffs"。最后,它删除空的" raw"。

set TopFolder to choose folder with prompt "Select parent folder to process"

tell application "Finder"
set RawsFolder to every folder of entire contents of TopFolder whose (name is "raw")
repeat with aFolder in RawsFolder
    set ParentFolder to container of aFolder -- get upper folder
    set TiffFolder to (ParentFolder as string) & "tiffs"
    if not (exists TiffFolder) then make new folder in ParentFolder with properties {name:"tiffs"}
    set FilesRaw to every file of aFolder --get all files from raw folder
    move FilesRaw to folder TiffFolder -- move them to tiffs folder
    delete aFolder -- delete the raw folder
end repeat
end tell

要完成,你必须再做同样的事情,但用" web"要复制到" jpgs"的文件夹。您有两种方法可以做到这一点:

1)移动"告诉Finder"使用2个字符串参数(raw,tiffs)阻塞子程序,调整脚本以用参数替换每次出现的raw / tiff。然后你用(" raw"," tiffs")和(" web"," jpgs")

2)你只需复制/粘贴告诉查找器块并更改" raw" /" tiffs"手动到" web" /" jpgs"

由你决定...

警告:不要忘记在父文件夹的完整副本上运行此操作!

相关问题