我有一个可以获取文件对象的AppleScript
我现在想要遍历其路径上方的所有文件夹(每个文件可以向下多个级别)并标记它们的颜色。
到目前为止,我可以看到文件中有一个路径,但我不知道将它强制转换为什么类型(它不是字符串):
copy path of theFile as string to FileNamesPath
如果我可以获得每个文件夹,我可以应用标签/标签使它们成为一种颜色:
tell application "Finder" to set label index of theFolder to 3
如何从文件中获取每个文件夹?
答案 0 :(得分:0)
如果你有一个像这样的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
答案 1 :(得分:0)
要获取父文件夹,我使用容器属性。 例如,我们在桌面上找到一个文件:
- >文件夹"桌面"文件夹" USERNAME"文件夹"用户"启动盘
要使用此输出,我将其更改为别名:
- >别名" Macintosh HD:用户:USERNAME:桌面"
通过重复循环,我获得所有父文件夹。为了阻止你一个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
获取标签索引
行仅用于显示协议中的原始标签索引。