该命令似乎按预期工作。我用桌面上的一个文件夹对其进行了测试,所以
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
如果您有参考文件,则可以使用该路径检查它是否隐藏。