Verificar la existencia del archivo, luego Mover Renombrar archivo antiguo y Mover uno nuevo

2

Esto es lo que estoy intentando hacer:

Tengo una carpeta que contiene un script y un archivo. El archivo es una copia anterior de un archivo ubicado en esta ruta: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A.

Estoy intentando crear un AppleScript que active el Finder, abra la ruta mencionada anteriormente, verifique si existe el archivo en cuestión, cambie el nombre de ese archivo a .new si lo hace, luego mueva la versión anterior de la carpeta que contiene el script.

Alternativamente, si AppleScript se ejecuta cuando existe la nueva versión del archivo en la ruta mencionada anteriormente, me gustaría que la secuencia de comandos cambie el nombre de la versión anterior del archivo (que se copió anteriormente) a .old y elimine la .Nuevo del archivo original (es decir, esencialmente revertir lo que hizo anteriormente, pero sin eliminar el archivo que se agregó).

No importa lo que haya intentado, hasta ahora no he podido hacer que el script se autentique correctamente para cambiar el nombre del archivo (la carpeta en cuestión, obviamente, requiere la aprobación del administrador antes de que se realicen modificaciones).

Lograr que el script active el Finder y abra la carpeta es bastante trivial (por ejemplo, tell application "Finder" activate open ("/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A" as POSIX file) end tell funciona bien), pero después de eso se autentica el script, verifique la existencia del archivo (s) y luego actúe En consecuencia, ha sido una tarea bastante infructuosa.

Cualquier ayuda será muy apreciada.

    
pregunta Zyniker 23.10.2013 - 23:32

1 respuesta

2
do shell script "
d=/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A
if [[ -e $d/Apple80211 ]]; then
  mv $d/Apple80211 $d/Apple80211.new
  cp ~/path/to/Apple80211 $d/Apple80211
else
  mv $d/Apple80211 $d/Apple80211.old
  mv $d/Apple80211.new $d/Apple80211
fi" with administrator privileges
    
respondido por el user495470 24.10.2013 - 09:32

Lea otras preguntas en las etiquetas