0 votos

Applescript me requiere "dar acceso" a un archivo descargado

Sé que los archivos descargados están marcados como "sospechosos" o algo así (ls -l muestra un '@'). Mi pregunta es cómo evitar esto en AppleScript. Aquí está mi situación:

Descargo un archivo de Yahoo Finance. Aquí está la salida de ls -l:

-rw-r--r--@ 1 gidi staff 782 15 oct 17:44 portfolio.csv

Si hago doble clic en este archivo, o hago open portfolio.csv en una terminal, se abre en Excel sin problemas. Sin embargo, si ejecuto un AppleScript que hace lo siguiente:

tell application "Microsoft Excel"
    activate
    open "/Users/miusuario/Escritorio/portfolio.csv"
end tell

Entonces recibo un mensaje que me pide "conceder acceso" al archivo (ver abajo).

También noté que si primero abro el archivo, cierro Excel, y luego ejecuto el AppleScript, entonces se abre el archivo sin el mensaje. Así que presumiblemente en algún lugar del sistema operativo se ha indicado que el archivo debe ser accesible (a pesar de que la lista de ls -l todavía tiene un '@').

Entonces... ¿existe un comando de AppleScript para decir explícitamente que estoy concediendo acceso al archivo? ¿O debo indicar en algún lugar que AppleScript tiene acceso a todos los archivos?

¡Gracias!

introducir descripción de la imagen aquí

3voto

red_menace Puntos 111

Prácticamente todas las aplicaciones con aislamiento de espacio en estos días añaden un atributo extendido com.apple.quarantine (la '@') a contenido descargado de internet, lo que restringe su uso hasta que se dé permiso. Una vez que (no un script) has utilizado el archivo, el atributo de cuarentena se modifica, y puede añadirse también un atributo extendido com.apple.macl más pegajoso (una especie de lista blanca) para permitir el acceso a un usuario y aplicación. Todo esto forma parte del sistema de seguridad de las versiones actuales del sistema operativo.

AppleScript no tiene ninguna función para manipular archivos, pero puedes eliminar el atributo extendido con el comando de shell xattr, por ejemplo:

do shell script "/usr/bin/xattr -d com.apple.quarantine " & quoted form of POSIX path of (choose file)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X