2 votos

Recortar los nombres de archivo en automator w. shell o applescript

¿Por qué no esta el trabajo?

(El automator es en sueco, pero las partes que son: seleccionado buscador de objetos - obtener el contenido de la carpeta - ejecutar el shell script)

Printscreen Automator

Quiero recortar los tres primeros caracteres de los nombres de los archivos en una carpeta como parte de un automator carpeta acción. No sé shell scripting mí mismo, pero he leído de todo un poco y creo que esto debe hacer el truco.

También he intentado esto con applescript: Automator Applescript

Funciona mejor, pero sólo con los primeros 8 archivos por alguna razón.

¿Alguien sabe cómo solucionar esto? /Daniel

3voto

jake paine Puntos 11

La razón de su secuencia de comandos de shell no está haciendo lo que usted quiere es porque Automator pasa la ruta completa de los archivos como argumentos.

Si la ruta de acceso completa a uno de los archivos es /Users/foo/Temp/file1.txt, entonces la secuencia de comandos intenta cambiarle el nombre a ers/foo/Temp/file1.txt que no es lo que usted desea.

Pruebe esto en su lugar:

for f in "$@"; do
  FILENAME=$(basename "$f")
  DIRNAME=$(dirname "$f")
  mv "$f" "${DIRNAME}/${FILENAME:3}"
done

Mejor aún (asas relativa de los nombres de archivo correctamente):

for f in "$@"; do
  FILENAME=$(basename "$f")
  DIRNAME=$(dirname "$f")
  if [ -z "$DIRNAME" ]; then
    DIRNAME="."
  fi
  mv "$f" "${DIRNAME}/${FILENAME:3}"
done

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