Mac Automator-使用变量的“移动查找程序项”

时间:2019-06-22 19:09:27

标签: macos applescript automator

我对mac automator(在Mojave上)有一个奇怪的问题。

  • 我想要的内容:获取pdf>将每个页面以png格式保存到与pdf相同的文件夹中
  • 会发生什么:获取pdf>所有png保存到桌面上

这是试运行后的自动化器:

Automator Set tup

您可以在屏幕快照中看到如何将变量“ pdfPath”实际正确设置为Test文件夹。但是然后移动后,确实将文件从系统文件夹中删除,但不是从pdfPath而是从Desktop删除。重要提示:如果我手动选择任何文件夹,它将保存在该文件夹中,而不是保存到桌面,因此仍与pdfPath变量相关吗?

有人知道它为什么会发生以及如何解决?

2 个答案:

答案 0 :(得分:0)

Automator有时会像这样令人沮丧。即使您可以拖动并选择变量,在这种情况下,移动查找器项操作似乎也不适用于变量。使用变量时,该变量默认为桌面。作为一种解决方法,您可以将移动搜索项操作替换为on run {input, parameters} if (count input) < 2 then error "No Items to move.“ set destination to last item of input tell application "Finder" to move (items 1 thru -2 of input) to destination end run 获取变量值,以将其添加到输入项中,然后添加运行AppleScript 操作进行移动:

var isInRange: Bool
var rangeString: String
if distance < range {
    isInRange = true
    rangeString = "In Range"
} else {
    isInRange = false
    rangeString = "Not In Range"
    while isInRange == false {

        var dateString = dateFormatter.date(from: calculationTime!)!
        var updatedDate = dateString.addingTimeInterval(TimeInterval(5.0 * 60.0))
        var updateDateAsString = dateFormatter.string(from: updatedDate)

        Calculations.shared.keplerianElementsToECEF(meanMotion: rangeMeanMotion, eccentricity: rangeEccentricity, Inclination: rangeInclination, LongitudeAscendingNode: rangeLongitudeAscendingNode, argumentPerigee: rangeArgumentPerigee, M0: rangeM0, epoch: rangeEpoch, date: updateDateAsString) {
      }
   } 
}

您可能还必须清除临时文件夹中的先前结果,以使重命名操作保持愉快状态。

答案 1 :(得分:0)

好的,在此期间,我得到了一些帮助。对于遇到问题并寻求解决方案的任何人,我在Applescript部分中保存的路径都会很好地显示在结果中,但是最后,该路径的格式错误。下面的代码就像一个魅力:

on run {input, parameters}
    tell application "Finder" to return POSIX path of (container of (item 1 of input) as alias) as text
end run