【发布时间】:2014-04-28 10:32:32
【问题描述】:
我在一家设计机构工作,正在尝试创建一个 AppleScript,它创建一个文件夹结构,然后将文件复制到它创建的指定文件夹中。
我是 applescript 的新手,经过数小时的互联网搜索后,我设法创建了创建文件夹的位。这允许我创建具有特定工作编号的文件夹,然后选择保存位置。这一切都很好。我现在要做的就是将几个文档复制到它创建的文件夹中。
这是我目前所拥有的:
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
例如我想将一个 InDesign 文件复制到“演示板”文件夹中,并将一个 pdf 复制到参考文件中,该文件将在 applescript 完成后打开。
任何帮助将不胜感激。 谢谢
【问题讨论】:
-
不要在 tell 应用程序块中使用 do shell 脚本,除非您的目标是当前应用程序常量。它违反了脚本添加安全性,有时会抛出错误。
标签: applescript