我正在尝试创建一个命令来隐藏和显示我的桌面上的文件夹这是我目前为止在AppleScript中的代码:
on run
if "chflags hidden ~/Desktop/*" then
do shell script "chflags nohidden ~/Desktop/*"
else
do shell script "chflags hidden ~/Desktop/*"
end if
end run
请你找到问题和帮助 谢谢
答案 0 :(得分:0)
该命令似乎按预期工作。我用桌面上的文件夹测试了它,所以
chflags hidden ~/Desktop/testDir/*
chflags nohidden ~/Desktop/testDir/*
完成这项工作。
你的if语句不起作用。
if "chflags hidden ~/Desktop/*" then
这没有任何作用。即使您要添加缺少的“do shell脚本”:
if (do shell script "chflags hidden ~/Desktop/testDir/*") then
这实际上会隐藏所有内容(此时您不想要的内容)并且它不会返回任何内容并且会生成AppleScript-Error。
所以你必须寻找另一种方法来检查隐藏状态。
以下是执行此操作的代码示例:
tell application "System Events"
set filePath to file (((path to desktop) as text) & "myReferenceFile.txt")
end tell
set this_info to info for filePath
if visible of this_info is true then
log "VISIBLE"
else
log "INVISIBLE"
end if
如果您有参考文件,可以使用该路径检查它是否隐藏。
答案 1 :(得分:0)
您可以使用以下内容切换标记:
property hideFolders : true
if hideFolders then
do shell script "find ~/Desktop/* -type d -maxdepth 1 -exec chflags hidden {} +"
set hideFolders to false
else
do shell script "find ~/Desktop/* -type d -maxdepth 1 -exec chflags nohidden {} +"
set hideFolders to true
end if