【问题标题】:How do to add a . to the last part of a path in applescript?如何添加一个 .到applescript中路径的最后一部分?
【发布时间】:2021-12-06 23:25:05
【问题描述】:

我正在重命名一个文件的名称,以便基本上对我的计算机的其他用户隐藏它,因为我对这些东西非常保密。我在 applescript 中执行此操作,并且有一个我想要更改的文件名列表。我听说过分隔符,但不知道如何使用它。我如何在 Applescript 中更改这一点 -

/Users/username/Desktop/file.txt

进入

/Users/username/Desktop/.file.txt

【问题讨论】:

  • 如果您想真正保护您的私人资料,请禁用其他人读/写您的文件的权限并使用 密码 锁定它,Finder 会更有意义。因为每个人都可以取消隐藏隐藏文件。此外,即使没有在 Finder 中取消隐藏文件,系统事件(以及许多其他工具)也可以列出文件夹的隐藏文件。

标签: macos applescript


【解决方案1】:

分隔符有助于处理在您的情况下不是真正问题的文本。

要使用 applescript 重命名单个文件,首先将其用作别名,然后将其名称设置为新名称。

set fName to POSIX file "/Users/username/Desktop/file.txt"
set aName to fName as alias
tell application "Finder" to set name of aName to ".file.txt"

要重命名文本文档中的文件列表(假设每行一个文件),请阅读文档,制作其行的列表,然后循环浏览列表。在循环内部,posix 引用被强制转换为别名,使我们能够使用文件的 name 属性。

use scripting additions

-- specify file containing list of files to rename
set pfListing to POSIX path of (path to desktop as text) & "lista.txt"
--> "/Users/username/Desktop/lista.txt"

-- Contains one entry per line, like this:
-- /Users/username/Desktop/file1.txt
-- /Users/username/Desktop/file2.txt

-- read contents into list of files
set fList to paragraphs of (get read pfListing)
--> {"/Users/username/Desktop/file1.txt", "/Users/username/Desktop/file2.txt"}

tell application "Finder"
    repeat with fp in fList -- each file path
        tell me to set afp to POSIX file (contents of fp) as alias
        set name of afp to "." & name of afp
    end repeat
end tell
--> /Users/username/Desktop/.file1.txt
--> /Users/username/Desktop/.file2.txt

如果您有重命名文件的列表,并希望恢复其原始名称,请将“set name...”行替换为:

    set chgName to name of afp
    set origName to text 2 thru -1 of chgName
    set name of afp to origName

【讨论】:

  • 您好,感谢您的回复,这真的很有帮助。但是,我唯一的问题是我不知道 .file.txt 的确切名称,因为它在列表中。我只想知道如何更改文件路径名称的最后一部分。谢谢!
猜你喜欢
  • 1970-01-01
  • 2019-04-15
  • 2011-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-27
  • 2011-04-24
相关资源
最近更新 更多