Come rinominare in blocco i file in caratteri casuali?

4

Ho molte foto con me che voglio rinominare. Voglio che siano 10 personaggi casuali. C'è un modo per farlo?

Sto eseguendo macOS Sierra.

Non ho ancora provato nulla.

Preferirei una soluzione gratuita a questo problema.

    
posta 05.10.2016 - 01:21
fonte

2 risposte

7

Il seguente script presuppone che le foto da rinominare siano nella cartella Immagini. Questo rinominerà ogni file nella cartella Immagini in una sequenza casuale di lettere e numeri a 10 caratteri mantenendo intatte le estensioni dei file.

#!/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

Se i file da rinominare non si trovano nella cartella Immagini, quindi modifica ~/Pictures di conseguenza. ~ è semplicemente una scorciatoia per la home directory degli utenti. Quindi ~/Pictures = /Users/YourUsername/Pictures . Tieni presente che * indica allo script la corrispondenza con qualsiasi file trovato in ~/Pictures . Tieni inoltre presente che puoi modificare il numero di caratteri generati modificando il numero 10 di (rand_string 10) con qualsiasi numero che ti piace.

  • Copia e incolla questo in un file testo semplice e assegna un nome simile a: rename_pics.sh

  • Apri il tuo terminale (usa Spotlight per trovarlo se non sai dove si trova)

  • Nel tuo terminale digita chmod 755 rename_pics.sh e premi Invio

  • Digita ./rename_pics.sh nel tuo terminale e premi Invio per eseguire lo script.

risposta data 05.10.2016 - 07:59
fonte
0

Copia e incolla questo in un file di testo:

#!/bin/bash

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

Esegui il seguente comando per rendere eseguibile il file (ammesso che tu abbia salvato il file come randomlyrename ):

chmod 755 randomlyrename

Ed esegui il file:

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

Ricorda che rinominerà tutto nella directory fornita a una stringa di numeri casuali di dieci cifre.

    
risposta data 05.10.2016 - 07:17
fonte

Leggi altre domande sui tag