在Automator中创建使用指定文件名命名的新文件夹

时间:2010-11-17 12:32:50

标签: automator

我想创建一个以用于输入的文件的文件名命名的新文件夹。

示例:

如果我将新服务与“test(test).jpg”文件一起使用,我想自动创建一个名为“test(test)”的文件夹。

1 个答案:

答案 0 :(得分:2)

要使用常规Automator操作执行此操作,它会有点复杂,因为您需要保存原始输入,获取名称,创建文件夹,获取原始输入等。您可以使用运行AppleScript 一次性执行大部分操作的操作,但这取决于您想要对原始输入和创建的文件夹路径执行的操作。

以下运行AppleScript 操作将创建具有输入项名称的新文件夹(请注意,服务可以传递多个项目),然后只传递原始输入。新文件夹在同一父文件夹中创建 - 不执行错误处理(重复名称等):

on run {input, parameters} -- make new folders from base file names

    set output to {}

    repeat with anItem in the input -- step through each item in the input

        set anItem to anItem as text
        tell application "System Events" to tell disk item anItem
            set theContainer to path of container
            set {theName, theExtension} to {name, name extension}
        end tell
        if theExtension is in {missing value, ""} then
            set theExtension to ""
        else
            set theExtension to "." & theExtension
        end if
        set theName to text 1 thru -((count theExtension) + 1) of theName -- the name part

        tell application "Finder"
            make new folder at folder theContainer with properties {name:theName}
            set end of output to result as alias
        end tell
    end repeat

    return input -- or output
end run