如何将AppleScript课程转换为终端设计课程?

我有一个我在Automater中开发的个性化服务(我在OS X 10.6.5上)。 该服务实现AppleScript,随后实现覆盖脚本。 以下是AppleScript:

on run {input, parameters}
    -- do shell script "/usr/bin/find " & input & " -type f -name .DS_Store -delete -print"
    display alert "Path: " & input
end run

麻烦的是,服务消失的过程(在变量input中)类似于:

Macintosh HD:Users:Matthew:Documents:Programming:Apple Scripts:

为了有效执行命令,课程要求类似于:

Macintosh\ HD/Users/Matthew/Documents/Programming/Apple\ Scripts/

那么,是否存在将第一门课程转换为第二门课程的方法? 我希望有一个管理这个的核心功能。 但我打算某种正则表达式/ find / replace / etc肯定会起作用吗? 我熟悉HTML / CSS / Javascript / PHP,而不是Cocoa / AppleScript / C. 任何类型的指令或指针肯定会很精彩!

0
2019-05-13 02:49:43
资源 分享
答案: 2

使用quoted form of the POSIX path of input。 如果没有quoted form of组件,它将无法正确处理文件名中的有趣个性(如房间)。 见这个Apple技术说明

0
2019-05-17 14:26:25
资源

好吧......这比我实际理解的要简单得多。 经过一些谷歌搜索,它类似于我需要的是POSIX path of命令。 这将提供的课程转换为Unix设计课程,这是您在终端中肯定会看到/使用的课程。 所以:

POSIX path of input

给我一个类似的课程:

/Users/Matthew/Documents/Programming/Apple Scripts/

它似乎考虑到你只需要在课程开始时需要一个/,而不是磁盘驱动器名称。 尽管如此,它并没有在课程中撤退\个房间(或照顾独特的个性)。 因此,正如下面的各种其他解决方案所述,您需要将课程定位在引号("')中,以便基本上分析这些房间(或独特的个性)。 您可以使用quoted form of完成此操作。 下面是:

quoted form of the POSIX path of the input
-- gives a path like: '/Users/Matthew/Documents/Programming/Apple Scripts/'
0
2019-05-17 13:50:14
资源