更新了Applescript以隐藏El Capitan桌面上的文件夹

更新了Applescript以隐藏El Capitan桌面上的文件夹,applescript,Applescript,我想隐藏桌面上的所有文件夹。我找到了以下AppleScript,但它在el Capitan下不起作用(我运行的是10.11.5版本): 提前感谢您的帮助您找到的AppleScript有一些问题 键CreateDesktop——就像更流行的AppleShowAllFiles——的值是布尔值 用户默认值的布尔值在一个do shell脚本中返回“1”或“0”(字符串),用于两个系统版本。它从来不是“真”或“假”。要获得可用的结果,需要将其强制为integer,然后强制为boolean ((do she

我想隐藏桌面上的所有文件夹。我找到了以下AppleScript,但它在el Capitan下不起作用(我运行的是10.11.5版本):

提前感谢您的帮助

您找到的AppleScript有一些问题

CreateDesktop
——就像更流行的
AppleShowAllFiles
——的值是布尔值

用户默认值的布尔值在一个
do shell脚本中返回“1”或“0”(字符串),用于两个系统版本。它从来不是“真”或“假”。要获得可用的结果,需要将其强制为
integer
,然后强制为
boolean

((do shell script "/usr/bin/defaults read com.apple.finder CreateDesktop") as integer) as boolean
如果键不存在(默认值为false),则捕获抛出的错误,然后切换布尔状态,并使用
-bool
属性返回write,以确保不写入字符串

发送
killall
后,查找程序将自动重新启动,无需在代码中执行此操作

此脚本还可用于
AppleShowAllFiles
键以显示和隐藏不可见文件

try
    set state to ((do shell script "/usr/bin/defaults read com.apple.finder CreateDesktop") as integer) as boolean
on error
    set state to false
end try
do shell script "/usr/bin/defaults write com.apple.finder CreateDesktop -bool " & ((not state) as text) & "; killall Finder"

谢谢,它很有魅力。我现在没有时间深入研究applescript。
try
    set state to ((do shell script "/usr/bin/defaults read com.apple.finder CreateDesktop") as integer) as boolean
on error
    set state to false
end try
do shell script "/usr/bin/defaults write com.apple.finder CreateDesktop -bool " & ((not state) as text) & "; killall Finder"