嗨,对任何一种编程来说都是新手,但是我写了一个Automator工作流程来完成我每天要做的重复性任务。基本上,我正在准备图稿文件和文件夹以发送到打印机。步骤如下:
设置变量的值(变量是ArtworkFolder)
我将包含插图文件的图稿文件夹放在其中,PDF
获取指定的查找器项目
在RAID服务器上找到文件
将查找器项目复制到(到ArtworkFolder)
将所述文件复制到文件夹中
要求确认-
提示用户选择更新的PDF
询问查找器项目-
打开新PDF所在的文件夹
将查找器项目复制到(到ArtworkFolder)-
将PDF文件复制到文件夹(覆盖旧文件)
要求确认
提示用户选择打印准则
询问查找器项目
打开打印指南所在的文件夹
将查找器项目复制(到变量ArtworkFolder)-
将打印指南复制到文件夹中
这是我认为可能会出现问题的位置
获取变量的值(ArtworkFolder)
应该获得原始文件夹的名称
获取指定的查找器项目
及其所有内容
创建存档
然后将全部拉链在一起
但是它用名称Archive.zip压缩它,我不想这样...
重命名查找器项目:替换文本
设置为仅在不区分大小写的情况下在基本名称中找到“存档”。然后将其替换为变量ArtworkFolder
但是它使用整个路径重命名了文件夹
我已经尝试通过添加来去除路径...
重命名查找器项目:替换文本
设置为仅在路径基本名称中查找所有内容,直到唯一的文件夹名称,不进行任何替换(例如,我离开了“替换”框空白)
但是它会像这样复制文件夹名称:
00000-测试图稿文件夹/ 00000-测试图稿文件夹.zip
我只想将原始文件夹名称(00000- Test Artwork文件夹)设置为zip文件名。
任何提示都会受到欢迎!
出于任何原因,Automator都没有包含操作来获取文件名,因此您将需要使用第三方操作或自己执行。可以使用Run AppleScript操作,但无论哪种方式,请注意,您将需要保存工作流程项并在获取名称时适当使用Ignore Input选项,因此不会获取它们。与文件项混合(还请注意,工作流和操作项是list)。
要获取单个项目的名称,可以将以下内容插入工作流程,其中名称变量可以在重命名操作中使用:
变量的设置值 {变量:原始输入}-存储当前项目
运行AppleScript:-获得名称
on run {input, parameters}
set {theContainer, theName, theExtension} to getNamePieces from (first item of input)
return theName
end run
to getNamePieces from somePath
tell application "System Events" to tell disk item (somePath as text)
set _container to path of container
set {_name, _extension} to {name, name extension}
end tell
if _extension is not "" then
set _name to text 1 thru -((count _extension) + 2) of _name -- just the name part
set _extension to "." & _extension
end if
return {_container, _name, _extension}
end getNamePieces
变量的设置值 {变量:项目名称}
获取变量的值 {变量:原始输入}(忽略输入-继续工作流程