【问题标题】:get all folders in a files path in Applescript - so i can tag them在 Applescript 的文件路径中获取所有文件夹 - 所以我可以标记它们
【发布时间】:2014-09-07 03:00:27
【问题描述】:

我有一个可以获取文件对象的applescript

我现在想遍历其路径上的所有文件夹(每个文件可能向下很多层)并标记它们的颜色。

到目前为止,我可以看到文件中有一个路径,但我不知道将其转换为什么类型(它不是字符串):

copy path of theFile as string to FileNamesPath

如果我能得到每个文件夹,我就可以应用标签/标签来​​为它们设置颜色:

tell application "Finder" to set label index of theFolder to 3

如何从文件中获取每个文件夹?

【问题讨论】:

    标签: applescript directory


    【解决方案1】:

    要获取父文件夹,我使用容器属性。 例如我们获取桌面上的一个文件:

    -> 启动盘文件夹“Users”文件夹“USERNAME”文件夹“Desktop”

    要使用此输出,我将其更改为别名:

    -> 别名“Macintosh HD:Users:USERNAME:Desktop”

    通过重复循环,我得到所有父文件夹。要停止我,你需要一个 stopFolder 变量。在本例中为用户文件夹。

    tell application "Finder"
        set stopFolder to POSIX path of the (path to the users folder)
        set labelFolder to (choose file) 
        set lastParentFolder to (container of labelFolder as alias)
        repeat
            if POSIX path of lastParentFolder = stopFolder then return "ready"
            label index of lastParentFolder # get label index
            set label index of lastParentFolder to 3 # set new label index
            set lastParentFolder to (container of lastParentFolder as alias)
        end repeat
    end tell
    

    获取标签索引

    row 只是为了显示协议中的原始标签索引。

    【讨论】:

    • 谢谢@sidasa。为您解答。
    【解决方案2】:

    如果你有一个像这样的 HFS 路径的文件或别名对象

    alias "Macintosh HD:Users:user:Images:1401711772700.jpg"

    file "Macintosh HD:Users:user:Images:1401711772700.jpg"
    

    你可以试试这个小脚本

    tell application "Finder"
        set labelfolder to (choose file) #or insert file object here
        repeat
            set labelfolder to container of labelfolder
            if labelfolder is startup disk then exit repeat
            try #labels are disabled on some folders
                set label index of labelfolder to 3
            end try
        end repeat
    end tell
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多