Applescript Проверьте, существует ли файл в сети, путь с переменной - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь проверить, существует ли файл в папке, которая находится в сети.Когда я жестко прописываю путь, как во втором примере, сценарий работает как положено

Однако в первом примере сценарий работает неправильно.Я считаю, что я цитирую свою переменную правильно, разделяя строки и переменные с помощью "" и &, а также убедившись, что окончательная переменная преобразуется в строку.

  tell application "Finder"
    set a to "video1"
    set thefile to ("/Volumes/folder/" & a & ".avi")
    if exists POSIX file (thefile as string) then
        log "True"
    else
        log "False"
    end if
end tell

tell application "Finder"
    if exists POSIX file ("/Volumes/folder/video1.avi") then
        log "True"
    else
        log "False"
    end if
end tell

Есть ли способ исправить эту проблему?

1 Ответ

0 голосов
/ 16 октября 2018

Существует более удобный способ.

Средство поиска использует локальные и сетевые тома как disk.Имя диска - это компонент пути после Volumes.

Однако я рекомендую выбрать System Events, который более оптимизирован и имеет также элемент disk.

set a to "video1"
set thefile to a & ".avi"
tell application "System Events"
   if exists file thefile of disk "folder" then
      log "True"
   else
      log "False"
   end if
end tell
...