8 votos

Eliminación masiva de caracteres de los nombres de los archivos y las carpetas

Hemos creado un montón de carpetas y archivos que contienen el carácter "<".

¿Es posible eliminar en masa estos personajes?

21voto

Jordan W. Puntos 1083

Puedes hacer esto de forma sencilla y rápida en la Terminal:

cd /camino/ para/empezar/renombrar

find . -name '*\<*' | while read f; do echo mv "$f" "${f//\</}"; done

El comando de arriba es un "funcionamiento en seco" del comando de abajo:

find . -name '*\<*' | while read f; do mv "$f" "${f//\</}"; done

Esto eliminará cualquier < caracteres de forma recursiva en los archivos y carpetas a partir de la ruta en la que se cede inicialmente.

Resultado:

mv ./<folder<test<   ./foldertest
mv ./<test3.txt      ./test3.txt
mv ./test2<.txt      ./test2.txt
mv ./test<test.txt   ./testtest.txt

0 votos

¿Es posible que este comando tarde un poco? Estoy haciendo la ejecución en seco y no hay salida después de 5 minutos?

1 votos

@Vinozio, ¿Cuántos directorios estás escaneando? Debería ser casi instantáneo si no son muchos. Si estás empezando en / por ejemplo, puede llevar un tiempo. Pruebe a utilizar el comando en un directorio en el que sepa que hay un archivo/carpeta con el < en el nombre y ver lo que hace.

0 votos

Está en un NAS, con 250 GB de datos.

5voto

Thomas Kammeyer Puntos 2743

Uso Name Mangler 3 para renombrar archivos y carpetas. Hay opciones gratuitas, pero Name Mangler ofrece un montón de características que hacen que valga la pena los $19.00 para mí.

Aquí está Nombre Mangler en MacUpdate que incluye enlaces a muchos programas similares.

  1. Una vez que tenga instalado Name Mangler, láncelo
  2. Arrastra toda la carpeta que quieras renombrar al panel donde dice "Arrastrar archivos y carpetas aquí"
  3. A la derecha elija "Encontrar y reemplazar"
  4. Escriba "<"
  5. En "Reemplazar con" introduzca el carácter con el que desea reemplazar "<" o deje en blanco para eliminarlo.
  6. Haga clic en "Renombrar x de x artículos"

Una de las muchas cosas que hace que el uso de una herramienta como Name Mangler sea valioso es que puedes deshacer tus cambios, ver un historial de tus cambios y crear una "gota" que hace que ejecutar el cambio de nombre en otros archivos sea realmente conveniente. Todo eso además de poder usar Regex para construir renombramientos muy complicados.

También hay un gran Nombre Mangler Grupo de Google donde puedes obtener respuestas a tus preguntas y se discuten algunas características y métodos muy avanzados. Han sido de gran ayuda para mí.

0 votos

Voy a probar esto, ¡espera!

0 votos

Esta aplicación me ha resultado muy útil para cambiar archivos y carpetas. ¡Gracias!

2voto

Tim Rosenquist Puntos 11

Lo que me funcionó - sólo los nombres de los archivos

  • Me inclino por las soluciones de terminal porque es gratis y me he convencido de que gano puntos de estilo.
  • No tuve que eliminar todos los caracteres especiales, sólo tuve que ocuparme de ..., *, (, ), @ y los guiones bajos iniciales _ en un solo directorio.

cd /path/to/folder/with/offending/filenames/
for file in ./*
  do mv "$file" "${file//([ *\(\)@_$]|\.\.\.)/}"
done

1voto

Trane Francks Puntos 1476

Puedes hacerlo fácilmente con un shell script (gratis), por ejemplo:

!#/bin/ksh
for filedirname in `ls -1 *\<*` # Note ls -1(one) not the alphabet L
do
    NEW_NAME=$(echo "$filedirname" | sed 's/\<//g')
    mv "$filedirname" "$NEW_NAME"
    echo "Changed name from $filedirname to: $NEW_NAME"
done

1 votos

El -1 no es realmente necesario (ls crea una salida de una sola columna de todos modos si la salida no se envía a una pantalla), también for f in *\<*; do también debería funcionar.

1voto

Tetsujin Puntos 23061

Se puede hacer con shellscript o Automator, pero posiblemente el cambio de nombre sea la opción más simple, es un programa de donaciones - Cambiar el nombre-MRRSoftware

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