0 votos

mover un archivo, sustituyendo el existente (si lo hay), idealmente poniendo el existente en la papelera

Estoy tratando de encontrar una manera de mover automáticamente (sin intervención del usuario) un archivo de A a B, sustituyendo a B si existe, idealmente poniendo la copia existente de B en la carpeta de la Papelera correspondiente.

Esto se hará en un shell script. Eventualmente A y B tendrán que ser $VARIABLES así:

/usr/bin/osascript <<EOT
tell application "Finder"
    move POSIX file "$SOURCE" to POSIX file “$DEST" with replacing
end tell
EOT

pero Ni siquiera puedo conseguir que esto funcione sin variables, como esta:

/usr/bin/osascript <<EOT
tell application "Finder"
    move POSIX file "/Users/luomat/Desktop/1.txt" to POSIX file "/Users/luomat/Desktop/2.txt" with replacing
end tell
EOT

Tomé esa sintaxis casi directamente de Stackoverflow 14058061 pero obtengo este resultado:

24:132: execution error: Finder got an error: AppleEvent handler failed. (-10000)

También me encontré con un artículo de MacTech que sugería el uso de replacing true así que lo intenté:

/usr/bin/osascript <<EOT
tell application "Finder"
    move POSIX file "/Users/luomat/Desktop/1.txt" to POSIX file "/Users/luomat/Desktop/2.txt" replacing true
end tell
EOT

pero sigue diciendo:

24:132: execution error: Finder got an error: AppleEvent handler failed. (-10000)

Tenga en cuenta que stackoverflow #12708195 No estoy tratando de incitar al usuario a hacer esto, pero idealmente me gustaría que ocurriera "automáticamente" como dicen los niños.

Entonces ¿qué estoy haciendo mal y/o me falta? Intentando buscar información en Google sobre el código de error (-10000) me dice más o menos que significa "AppleScript falló", lo cual no es muy útil.

1voto

Eric Jones Puntos 3

Tengo que investigar un poco más para que esto salga bien. Siento que está cerca, pero applescript todavía no le gusta. Tal vez le dará algunas ideas hasta que vuelva aquí para darle otra oportunidad. Por cierto, esto va a ser mucho más fácil cuando usted está utilizando el diálogo de elegir el archivo.

Aquí está mi intento que no funciona (todavía). Si no me lo haces, intentaré terminar la solución mañana.

# 1. get desktop folder
set desktopFolder to (((path to desktop from user domain) as string)) as alias

# 2.set source file
tell application "Finder" to ¬
set theFile to ((path to file "1.text" of folder (desktopFolder)) as string) as   alias

# 3.set destination file
tell application "Finder" to ¬
set theDestination to ((path to file "2.text" of folder (desktopFolder)) as string) as alias

# 4.make it happen
tell application "Finder" to move theFile to theDestination with replacing

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