Applescript 重命名桌面上的所有项目

Applescript 重命名桌面上的所有项目,applescript,desktop,renaming,Applescript,Desktop,Renaming,我正在尝试制作一个脚本来自动重命名桌面上的所有项目。以下是我到目前为止的情况: 告诉应用程序“Finder” 激活 将文件夹设置为(桌面路径) 将文件设置为(文件夹中的每个项目)作为文本 将文件项的名称设置为“这应该是新名称” 结束语 当我的桌面上只有一个项目时,我尝试了它,它成功了。但是,在那之后,当我只向桌面添加了一个文件夹(里面没有任何内容)时,在尝试时出现了以下错误: Finder got an error: Can’t set item "Macintosh HD:Users:eri

我正在尝试制作一个脚本来自动重命名桌面上的所有项目。以下是我到目前为止的情况:

告诉应用程序“Finder”
激活
将文件夹设置为(桌面路径)
将文件设置为(文件夹中的每个项目)作为文本
将文件项的名称设置为“这应该是新名称”
结束语
当我的桌面上只有一个项目时,我尝试了它,它成功了。但是,在那之后,当我只向桌面添加了一个文件夹(里面没有任何内容)时,在尝试时出现了以下错误:

Finder got an error: Can’t set item "Macintosh HD:Users:erictsai:Desktop:untitled folder :Macintosh HD:Users:erictsai:Desktop:untitled folder 1:" to "This should be the new name".

有人知道如何解决这个问题吗?

文件夹中的每个项目都会返回一个列表,然后您应该使用循环遍历该列表:

告诉应用程序“Finder”
激活
将文件夹设置为(桌面路径)
将文件设置为(文件夹中的每个项目)
对文件中的文件重复此操作
将文件名设置为“这应该是新名称”
结束重复
结束语

脚本将尝试用相同的名称重命名每个项目,因此在重命名第二个项目时会出现错误。

您将获得一个项目列表,然后将列表转换为字符串,这 正在引发问题。您需要循环浏览该列表并应用您的姓名 更改到每个项目。此外,获取每个项目的
都将包括磁盘,这可能会
不是你想要的。你也可以简化一点。下面是你如何做到的,如果
您不想更改磁盘名称:

tell application "Finder"
    repeat with finderObj in (items in desktop where class of it is not disk)
        -- Make whatever change you want to the name here
        set the name of finderObj to the name of finderObj & " test"
    end repeat
end tell

+1; 您的解决方案的优点是更容易推广到其他文件夹(与公认的答案相比);请注意,如果要跳过中间变量
theFiles
,则必须使用
get
作为
每个项目的前缀:
在文件中重复(在文件夹中获取每个项目)