Eliminar caracteres en masa de los nombres de archivos y carpetas

3

Hemos creado muchas carpetas y archivos que contienen "<" personaje.

¿Es posible eliminar en masa estos personajes?

    
pregunta Vinozio 28.09.2014 - 12:09

4 respuestas

4

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

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

  1. Una vez que tenga instalado Name Mangler, inícielo
  2. Arrastra todas las carpetas cuyo nombre desees cambiar al panel donde dice "Arrastra archivos y carpetas aquí"
  3. A la derecha, elige "Buscar y reemplazar"
  4. Introduce "<"
  5. En "Reemplazar con" ingrese el carácter que desea reemplazar "<" con o dejar en blanco para eliminarlo
  6. Haz clic en "Cambiar nombre de x de x elementos"

Una de las muchas cosas que hacen valioso el uso de una herramienta como Name Mangler es que puede deshacer los cambios, ver el historial de cambios y crear un "droplet" que hace que la ejecución del cambio de nombre en otros archivos sea realmente conveniente. Todo eso además de poder usar Regex para construir renombrados muy complicados.

También hay un gran Name Mangler Google Group donde puede obtener sus preguntas Responde y se discuten algunas características y métodos muy avanzados. Han sido de gran ayuda para mí.

    
respondido por el Dave Nelson 28.09.2014 - 12:38
8

Puedes hacer esto de manera simple y rápida en la Terminal:

cd / ruta / a / inicio / cambio de nombre

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

El comando anterior es una "ejecución en seco" del comando siguiente:

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

Esto eliminará cualquier carácter < recursivamente en archivos y carpetas a partir de la ruta que ingresaste inicialmente.

Resultado:

mv ./<folder<test<   ./foldertest
mv ./<test3.txt      ./test3.txt
mv ./test2<.txt      ./test2.txt
mv ./test<test.txt   ./testtest.txt
    
respondido por el l'L'l 28.09.2014 - 15:41
1

Se puede hacer con shellscript o Automator, pero posiblemente NameChanger sea la opción más sencilla, es donationware - NameChanger-MRRSoftware

    
respondido por el Tetsujin 28.09.2014 - 12:28
1

Puede hacer esto fácilmente con un script de shell (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
    
respondido por el Trane Francks 28.09.2014 - 12:26

Lea otras preguntas en las etiquetas