Applescript: создайте новую папку с помощью простого повтора / конца повтора, чтобы проверить, существует ли имя

Я пытаюсь создать скрипт, который создает новую папку клиента. Там нет настоящей драмы, но я сижу на мели, когда пытаюсь добавить немного функциональности, которая проверяет, существует ли папка. Если false, он будет продолжать создавать папку и, если true, будет повторять начальный вопрос (и проверять), пока пользователь не введет имя клиента, которого не существует. У меня проблема в том, что я могу заставить его проверить и / или создать папку после того, как она проверила, но я не могу остановить цикл после создания папки.

Вот что мне удалось до сих пор

tell application "Finder"
    activate
    repeat
    set newClientName to text returned of (display dialog "Enter New Client Name" default answer "")
    set thePath to "MATRIX:Designs:Digital:Clients:"
    set theFolder to thePath & newClientName

    if (theFolder exists) = true then
        display dialog "There is already a Client with that name"

    else
        make new folder at thePath with properties {name:newClientName}

    end if

    end repeat
end tell

Любое направление будет с благодарностью

1 ответ

Решение

Просто exit repeat петля на успехе.

Вы должны проверить на folder а не буквальный путь

set thePath to "MATRIX:Designs:Digital:Clients:"
tell application "Finder"
    activate
    repeat
        set newClientName to text returned of (display dialog "Enter New Client Name" default answer "")
        if exists folder newClientName of folder thePath then
            display dialog "There is already a Client with that name"
        else
            make new folder at folder thePath with properties {name:newClientName}
            exit repeat
        end if
    end repeat
end tell
Другие вопросы по тегам