2013-11-09 2 views
0

Я пытаюсь сделать команду, чтобы скрыть и показать папки на моем рабочем столе это мой код до сих пор в 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

Команда, похоже, работает должным образом. Я протестировал его с помощью папки на своем рабочем столе, поэтому

выполняет эту работу.

Ваш оператор if не работает.

if "chflags hidden ~/Desktop/*" then 

Это не делает ничего. Даже если бы вы добавить недостающую «сделать сценарий оболочки»:

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

THx ребята: D буду видеть, если они работают! : D – user2826998

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 
Смежные вопросы