创建文件夹结构并将文件复制到特定文件夹中

时间:2014-04-28 10:32:32

标签: applescript

我在一家设计机构工作,我正在尝试创建一个创建文件夹结构的AppleScript,然后将文件复制到它创建的指定文件夹中。

我是applecript的新手,经过几个小时的互联网搜索后,我设法创建了创建文件夹的位。这允许我创建具有特定作业编号的文件夹,然后选择保存它的位置。这一切都运作良好。我现在要做的就是将几个文档复制到它创建的文件夹中。

这是我到目前为止所做的:

tell application "Finder"
    activate

    set jobNum to text returned of (display dialog "Enter a job number:" default answer "")
    set jobName to text returned of (display dialog "Enter a job name:" default answer "")
    set folderpath to POSIX path of (choose folder with prompt "Select client folder")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_Reference") & "/" & quoted form of (jobNum & "_Briefs")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_Reference") & "/" & quoted form of (jobNum & "_Copy")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_Reference") & "/" & quoted form of (jobNum & "_Supplied")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_Assets")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_Old")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_Final_Artwork")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_Assets") & "/" & quoted form of (jobNum & "_Purchased_Images")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_Assets") & "/" & quoted form of (jobNum & "_Non_Purchased_Images")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_In_Situ") & "/" & quoted form of (jobNum & "_JPG's")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_In_Situ") & "/" & quoted form of (jobNum & "_PSD's")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_Artwork_&_Design") & "/" & quoted form of (jobNum & "_Id")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_Artwork_&_Design") & "/" & quoted form of (jobNum & "_Ai")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_Artwork_&_Design") & "/" & quoted form of (jobNum & "_PS") & "/" & quoted form of (jobNum & "_PSDs")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_Artwork_&_Design") & "/" & quoted form of (jobNum & "_PS") & "/" & quoted form of (jobNum & "_JPGs")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_Artwork_&_Design") & "/" & quoted form of (jobNum & "_Presentation_Boards")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_C4D") & "/" & quoted form of (jobNum & "_Assets")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_C4D") & "/" & quoted form of (jobNum & "_Renders")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_C4D") & "/" & quoted form of (jobNum & "_Visuals")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_Creative") & "/" & quoted form of (jobNum & "_Mac_Scamps")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_Creative") & "/" & quoted form of (jobNum & "_Scamps")
    do shell script "/bin/mkdir -p " & quoted form of folderpath & "/" & quoted form of (jobNum & "_" & jobName) & "/" & quoted form of (jobNum & "_For_Client")


end tell

E.g。我想将InDesign文件复制到“presentation boards”文件夹中,然后将pdf复制到参考文件中,然后在AppleScript完成后打开它。

非常感谢任何帮助。 感谢

1 个答案:

答案 0 :(得分:0)

您可以将所有文件夹设置为变量,并将其输入到输入文件夹以移动文件并对其进行排序。不能太具体,否则你会遇到一个不能为其他工作工作的问题。我会这样的。

    set jobNum to text returned of (display dialog "Enter a job number:" default answer "")
        set jobName to text returned of (display dialog "Enter a job name:" default answer "")
        set folderpath to POSIX path of (choose folder with prompt "Select client folder")
    set InputFolder to (choose folder with prompt "Select client folder") as alias

    tell application "Finder"
    set FileList to get every item of folder InputFolder

    set FolderVariable to make new folder at Desination with properties{Name:"folderName" & jobName"}
 set FolderVariable2 to make new folder at Desination with properties{Name:"folderName" & jobName"}

    repeat with CurrentFile in FileList
    if (name of CurrentFile) contains "SomeIdentifier" then
    move file CurrentFile to folder FolderVariable
else if (name of CurrentFile) contains "SomeotherIdentifier" then
 move file CurrentFile to folder FolderVariable2 
    end if
    end tell

如果您有不同的标识符,请添加更多ifs

相关问题