¿Cómo cambiar el nombre de varios archivos a la vez?

27

Quiero cambiar el nombre de varios archivos a la vez. Por ejemplo:

Picture1.jpg
Picture2.jpg
Picture3.jpg
Picture4.jpg

dentro

Vacation-Picture1.jpg
Vacation-Picture2.jpg
Vacation-Picture3.jpg
Vacation-Picture4.jpg

Estoy bastante familiarizado con el terminal, si no hay una aplicación que sea bastante buena para cambiar el nombre de los archivos.

Sí, eso soy yo
fuente

Respuestas:

26

Intenta algo como esto:

 for file in Picture*.jpg
 do
    mv "$file" "vacation-$file"
 done  

(abra la terminal y agregue una línea {presione Intro} a la vez).

Lo que hace es usar el archivo variable para cada coincidencia de entrada Picture*.jpg. Luego toma el archivo o carpeta y lo mueve con el prefijo "vacaciones".

Espero que ayude

slowBear
fuente
1
¿Qué sucede si me gustaría cambiar el nombre de Vacation-Picture4.jpgnuevo Picture4.jpg? A saber, eliminar una palabra del nombre del archivo. ¡Gracias!
zyy
29

No hay necesidad de línea de comando ...

  1. Agregue todas las imágenes a renombrar en una carpeta.
  2. Seleccione todos los archivos, haga clic con el botón derecho del mouse y seleccione "Cambiar nombre x elementos"
  3. Seleccione "Agregar texto" en el primer menú desplegable
  4. Seleccione "Antes del nombre" del segundo menú desplegable
  5. Ingrese "Vacaciones_" en el cuadro de texto (sin las comillas)
  6. Presione Entrar.
Finder Guru
fuente
24
brew install rename

rename s/config\./route\.config\./g *

Primero necesitas homebrew instalado. Luego instale rename, y la expresión regular anterior renombra todos los archivos con "config". a "route.config".

Entonces, diga los archivos config.a.js y config.b.js -> route.config.a.js, route.config.b.js.

Mella
fuente
De acuerdo con el brew desc renamecomando: "rename: script de cambio de nombre de archivos con Perl con muchas funciones integradas útiles". El brew home renamecomando lleva a http://plasmasturm.org/code/rename/ para documentación, etc.
kjones
4

Si bien no es una solución de Terminal, me gusta Forklift para este propósito (y para muchos otros). Desde su sitio web:

Descripción de la función de cambio de nombre múltiple de la carretilla elevadora

Dan J
fuente
Sí, seguro que hay una solución basada en terminal. También encontré esto en poderoso google;) manytricks.com/namemangler
YeppThat'sMe
También puede publicar NameMangler como respuesta adicional, ya que esta es básicamente una pregunta de recomendación. :)
Dan J
Para renombrar múltiples archivos (recursivamente) con Forklift ... simplemente seleccione todos los archivos y luego use todos los directorios por CMD + derecha ... hasta que los cubra todos ... está trabajando conmigo
Maher Abuthraa
2

Si desea cambiar el nombre de los archivos en masa, creé un pequeño script para eso.

# Rename Bullk files.
# Renames all the files in PWD with the given extension.
#
# @param extension | jpg
# @param new_name | name
# Usage: rename jpg new_name
function rename() {
    echo "———————————————— STARTED ————————————————"

    # Counter.
    COUNTER=1

    # For do loop.
    for file in *."$1"; do
        mv "$file" "$2-$COUNTER.$1"
        COUNTER=$[$COUNTER +1]
    done
    echo "———————————————— ✔✔✔ RENAMED Every $1 file in the PWD! ✔✔✔︎ ————————————————"
}

Simplemente póngalo en su .bashrco .zshrcy ejecute Usage: rename jpg new_nameesto, cambiará el nombre de todos los archivos jpg en el PWD a new_name-1.jpg, new_name-2.jpg, etc.

¡Aclamaciones!

Ahmad Awais
fuente
Alternativamente, para poner la función en archivos .bashrc o .zshrc, la puse en mi .bash_profile y funciona muy bien.
Elena
1

Después de descargar renombrar

brew install rename

ejecuta el siguiente comando

rename -n -A Vacation- *

-A: anteponer

-n: Muestra cómo se cambiaría el nombre de los archivos, pero en realidad no hace nada.

Por lo tanto, debe eliminar las banderas -n después de mirar el resultado.

Sean
fuente