2016-08-25 5 views
0

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

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

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 

Любое направление было бы весьма признателен

ответ

0

Просто 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 
+0

Благодаря Vadian как для раствора и наконечника. Я чувствую, что повторяющиеся петли - это моя следующая глава, чтобы справиться с этим! – eanno