大家好,完全是新手对任何类型的编程,但我已经写了一个自动工作流来做一个重复的任务,我每天做。基本上,我是准备艺术文件和文件夹发送给打印机。这些步骤如下:
变量的设置值(变量为ArtworkFolder)
在
中,我删除了包含插图文件和PDF的艺术品文件夹。
获取指定的查找项
在RAID服务器上定位一个文件
复制查找项(到ArtworkFolder)
将文件复制到文件夹中
要求确认-
提示用户选择更新的PDF。
要寻找物品-
打开新PDF所在的文件夹。
复制查找项(到ArtworkFolder)-
将PDF文件复制到文件夹中(覆盖旧文件)
要求确认
提示用户选择打印指南
索要查找物品
打开打印指南所在的文件夹。
复制查找项(到变量ArtworkFolder) -
将打印指南复制到文件夹中
这就是我认为可能会出问题的地方
获取变量值(ArtworkFolder)
--这应该是获取原始文件夹的名称
获取指定的查找项
及其所有内容
创建档案馆
然后
把所有的东西都拉链在一起
但它用Archive.zip这个名字拉链,我不想这样.
重命名查找项:替换文本
,它被设置为在basename中查找"Archive“,只忽略大小写。然后用变量ArtworkFolder替换它
但是它用整个路径重命名文件夹。
我试图通过添加…来去除这条路径
重命名查找项:替换文本
,设置为查找路径中的所有内容
但是,它会复制文件夹名如下:
00000-测试图样文件夹/00000-测试图样Folder.zip
我想要的是原始文件夹名(00000-测试艺术品文件夹)作为压缩文件名。
任何提示都会受到很大的欢迎!
发布于 2019-12-12 19:12:09
不管出于什么原因,Automator没有一个包含的操作来获取文件名,所以您需要使用第三方操作或自己操作。可以使用Run AppleScript操作,但请注意,在获取名称时,您需要保存工作流项,并酌情使用忽略输入选项,这样就不会将它们与文件项混为一谈(还请注意工作流和操作项是一个列表)。
要获取单个项的名称,可以将类似以下内容的内容插入到工作流中,其中可以在重命名操作中使用名称的变量:
变量集值{变量:原始输入} --存储当前项
Run 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变量集值{ Variable: Item Name }
获取变量{ Variable:原始输入}(忽略输入)的值--继续工作流
https://stackoverflow.com/questions/59302299
复制相似问题