Para copiar o mover archivos a una carpeta diferente usando Terminal, la forma obvia es utilizar los comandos cp
y mv
.
Pero para los usuarios que a menudo colocan información importante en la sección de "Comentarios" de la ventana de "Obtener información" de sus archivos y carpetas, cp
y mv
tienen la desventaja de que a veces se pierden los comentarios.
La única forma fiable que he encontrado hasta ahora para copiar/mover archivos usando Terminal y preservar comentarios es mediante AppleScript.
Tengo varios fragmentos de código para eso, pero actualmente solo funcionan para demostrar la idea, es decir, no son un script que puedas usar con destinos y destinos arbitrarios como cpx
. Aquí están, por si acaso, y aunque estaré muy agradecido por la ayuda para convertirlos en un script que funcione como cpx
, eso no es de lo que trata mi pregunta.
Supongamos que tienes
~/ |- dir1/ |- dir2/ | |- dir3/ | |- file | |- dir4/ |- dir5/
Entonces:
para copiar el archivo a dir3, usa:
osascript << SCRIPT set currentFolder to "$(pwd)" as POSIX file as text tell application "Finder" duplicate file (currentFolder & "file") to folder (currentFolder & "dir3:") end tell SCRIPT
para copiarlo a dir4, utiliza cualquiera de estos
osascript << SCRIPT set currentFolder to "$(pwd)" as POSIX file as text set parentFolder to "$(dirname $PWD)" as POSIX file as text tell application "Finder" duplicate file (currentFolder & "file") to folder (parentFolder & "dir4:") end tell SCRIPT
o
osascript << SCRIPT set currentFolder to "$(pwd)" as POSIX file as text tell application "Finder" set parentFolder to (container of folder currentFolder) as text duplicate file (currentFolder & "file") to folder (parentFolder & "dir4:")
Y aquí está mi pregunta: ¿Quizás estoy complicando las cosas y en lugar de usar AppleScript, puedo usar algo similar a open -a
?
# Esto funciona. Se utiliza para abrir un archivo usando una aplicación específica
open -a
# Esto no funciona y solo es una demostración de mi idea
copy -a finder