Estoy por ningún tramo de la imaginación de un Applescript experto, pero esto es lo que he recogido de mi propia tientas a lo largo de los años.
Te agradecería correcciones si hay alguna inexactitud o mejores métodos.. pero con algunos "por qué funciona' para los novatos ;-)
Lo que realmente estamos haciendo es pidiendo Editor de secuencias de Comandos si la cadena de caracteres "/Users/[User]/skfhshfkh/hfjhsfhsj/"
existe... que funciona, sólo le dijo que sí ;-)
Editor de secuencias de comandos no saben qué es un archivo es, ni cómo buscarlo, por lo que es el tratamiento de la cadena como una cadena no es un camino.
La forma más sencilla de hacer esto es usar el Buscador o el Sistema de Eventos que tienen su propia 'existe' rutina.
En este primer ejemplo, se puede introducir como POSIX archivo o file, y ajustar su sintaxis en consecuencia.
Así, este trabajo, para un archivo de...
set msg to "No sign of it"
tell application "Finder"
--if exists POSIX file "/volumes/MacintoshHD/Users/[user]/Desktop/testFile.rtf" then
--or
--if exists file ((path to home folder as text) & "Desktop:" & "testFile.rtf") then
--or
--if exists file "MacintoshHD:Users:[user]:Desktop:testFile.rtf" then
--but NOT
--if exists POSIX file ((path to home folder as text) & "Desktop:" & "testFile.rtf") then
set msg to "Yeah, found it!"
end if
end tell
display dialog msg
Mostrar el cuadro de diálogo fuera de la búsqueda de decirle impide Buscador de venir al frente sólo a lo presente.
Alternativamente, usted puede establecer su camino fuera de la función exists sí mismo.
Esta sería mi método preferido, y utiliza los Eventos del Sistema en lugar de Buscador de...
set theFile to ((path to home folder as text) & "Desktop:" & "testFile.rtf")
set msg to "No sign of it."
tell application "System Events"
if exists file theFile then
set msg to "Yeah, found it!"
end if
end tell
display dialog msg
Tenga en cuenta que el uso de los Eventos del Sistema, usted debe poner el cuadro de diálogo fuera de la decir, como los Eventos del Sistema no mostrará el cuadro de diálogo.
En cualquiera de estos ejemplos, tratando de empezar con un POSIX y archivo de intentar concatenar la ruta de acceso adicional por el uso de & "Folder:" & "Filename"
no hacer lo que usted espera.
Este es un punto en el que no sé por qué no lo hace, pero no es así.
Una última nota: si usted está buscando un file
, entonces todas las anteriores obras.
Si usted está buscando un folder
, a continuación, utilizar esta...
set theFolder to ((path to home folder as text) & "Desktop:" & "testFolder:")
set msg to "No sign of it."
tell application "System Events"
if exists folder theFolder then
set msg to "Yeah, found it!"
end if
end tell
display dialog msg