¿Cómo cambiar el nombre de los archivos a caracteres aleatorios?

4

Tengo muchas fotos conmigo que quiero cambiar de nombre. Quiero que sean 10 personajes al azar. ¿Hay alguna manera de hacerlo?

Estoy ejecutando macOS Sierra.

Todavía no he intentado nada.

Preferiría una solución gratuita a este problema.

    
pregunta 05.10.2016 - 01:21

2 respuestas

7

La siguiente secuencia de comandos asume que las fotos a renombrar están en su carpeta de Imágenes. Esto cambiará el nombre de cada archivo en su carpeta de Imágenes a una cadena de letras y números al azar de 10 caracteres, mientras mantiene intactas las extensiones de archivo.

#!/bin/bash

chars=( {a..z} {A..Z} {0..9} )

function rand_string {
    local c=$1 ret=
    while((c--)); do
        ret+=${chars[$((RANDOM%${#chars[@]}))]}
    done
    printf '%s\n' "$ret"
}

for file in ~/Pictures/*
do
    ext=$(echo ${file} | sed 's,^.*\(\.[^\.]*$\),,')
    mv "$file" ~/Pictures/"$(rand_string 10)"${ext}
done

Si los archivos a renombrar no están en su carpeta de Imágenes, edite ~/Pictures en consecuencia. El ~ es simplemente un atajo para el directorio de inicio de los usuarios. Entonces ~/Pictures = /Users/YourUsername/Pictures . Tenga en cuenta que el * le dice a la secuencia de comandos que coincida con cualquier archivo encontrado en ~/Pictures . También tenga en cuenta que puede cambiar la cantidad de caracteres generados cambiando el número 10 de (rand_string 10) a cualquier número que desee.

  • Copie y pegue esto en un archivo de texto sin formato y asígnele un nombre como: rename_pics.sh

  • Abre tu terminal (usa el foco para encontrarlo si no sabes su ubicación)

  • En su Terminal escriba chmod 755 rename_pics.sh y presione Entrar

  • Luego escribe ./rename_pics.sh en tu terminal y presiona Enter para ejecutar el script.

respondido por el I0_ol 05.10.2016 - 07:59
0

Copia y pega esto en un archivo de texto:

#!/bin/bash

cd "$1"
for i in ./*; do
    mv "$i" $((RANDOM * 32768 + RANDOM))
done

Ejecute el siguiente comando para hacer que el archivo sea ejecutable (suponiendo que haya guardado el archivo como randomlyrename ):

chmod 755 randomlyrename

Y ejecuta el archivo:

./randomlyrename /path/to/folder/containing/things-to-rename

Tenga en cuenta que cambiará el nombre a todo en el directorio que se proporciona a una cadena de números aleatorios de diez dígitos.

    
respondido por el perhapsmaybeharry 05.10.2016 - 07:17

Lea otras preguntas en las etiquetas