У меня есть строка, которая представляет файл / папку в папке в нотации POSIX:
/Users/surfacedetail/Desktop/Temp/Test1
Я хочу проверить, существует ли Test1 И является ли папка. Следующее говорит, что он существует:
if exists my POSIX file myFileOrFolder then
beep
end if
Это работает нормально, но как определить, является ли это папка или файл?
Проблема в том, что это часть массивного скрипта, это лучший тест, он использует системные события, но он не работает. Я думаю, это как-то связано с тем, как я строю строку пути.
tell application "Finder"
set myScriptFilePath to (path to me)
set mySourceFolder to folder of myScriptFilePath
set myFileAliasList to the entire contents of mySourceFolder
set myPOSIXSourceFolder to URL of mySourceFolder
set myPOSIXSourceFolder to characters 8 thru -1 of myPOSIXSourceFolder as string
repeat with myFile in myFileAliasList
set myFileName to name of myFile
log "myFileName: " & myFileName
if (myFileName ends with ".txt") then
set AppleScript's text item delimiters to "."
set myFolderName to first text item of myFileName
set myFolderPath to myPOSIXSourceFolder & myFolderName as string
log "myFolderPath: " & myFolderPath
tell application "System Events"
if not (exists folder myFolderPath) then
beep
display dialog "Could not find Folder for File: " & myFileName
return {}
end if
end tell
end if
end repeat
end tell