É possível a renomeação em massa de arquivos em pastas e subpastas ? [RESOLVIDO]

1. É possível a renomeação em massa de arquivos em pastas e subpastas ? [RESOLVIDO]

Gabriel
GaelSilraza

(usa Manjaro Linux)

Enviado em 11/03/2021 - 20:10h

Boa noite, pessoal.

Gostaria de saber se é possível realizar a renomeação em massa de arquivos em pastas e subpastas por meio do terminal ou softwares de terceiros, pois possuo uma pasta com uma grande quantidade de arquivos de nomes dispersos e gostaria de realizar uma renomeação massiva. Pois, cada pasta tem cerca de 20 arquivos e o meu objetivo seria o seguinte:
*Enumerar em ordem numérica
*Enumerar considerando o número de arquivos das subpastas anteriores.
Ex: dentro de uma pasta chamada Arquivos, existe 100 subpastas enumeradas de 1 a 100 com arquivos de nomes dispersos dentro de cada uma delas, portanto, o objetivo seria de que a pasta 1 enumerasse de 1 a 20 (número de arquivos por pasta) e na próxima pasta que a contagem fosse retomada, então na 2.ª pasta a enumeração ficaria de 20 a 40.


  


2. MELHOR RESPOSTA

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 12/03/2021 - 18:12h

Gabrielss12985 escreveu:
Boa tarde, fiz uma tentativa com o comando descrito, sobretudo, consta que ele não reconhece o caminho, embora esteja o inserindo corretamente. Neste caso, tenho de inseri-lo de uma maneira especifica ?

Erro:
#!/bin/bash

IFSOLD=$IFS
IFS=$'\n'
n=1
for arq in $(find /home/gabriel/Área de Trabalho/teste -type f | sort -V); do
mv -v "${arq}" "$(dirname ${arq})/$n"
((n++))
done
IFS=$IFSOLD "


O problema está nos espaços, "Área de Trabalho". Quando tiver espaço no nome da pasta use aspas ou coloque a barra invertida antes de cada espaço Área\ de\ Trabalho.

Deixe assim:
for arq in $(find "/home/gabriel/Área de Trabalho/teste" -type f | sort -V); do

3. Re: É possível a renomeação em massa de arquivos em pastas e subpastas ?

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 12/03/2021 - 11:19h

Sim é possível. Faça um teste usando o script abaixo:
#!/bin/bash

IFSOLD=$IFS
IFS=$'\n'
n=1
for arq in $(find /caminho/completo/para/pasta/ -type f | sort -V); do
mv -v "${arq}" "$(dirname ${arq})/$n"
((n++))
done
IFS=$IFSOLD

Onde tem "/caminho/completo/para/pasta/" substitua pela pasta que você vai testar/executar o script.
Salve o script como "renomear.sh", por exemplo, e execute assim:
bash renomear.sh

Obs: Faça um backup dos arquivos, para o caso de algo dar errado!


4. Re: É possível a renomeação em massa de arquivos em pastas e subpastas ? [RESOLVIDO]

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 12/03/2021 - 13:05h


O mint tem um programa renomear em massa no menu .


5. Re: É possível a renomeação em massa de arquivos em pastas e subpastas ? [RESOLVIDO]

Gabriel
GaelSilraza

(usa Manjaro Linux)

Enviado em 12/03/2021 - 13:11h


Ryuk escreveu:

Sim é possível. Faça um teste usando o script abaixo:
#!/bin/bash

IFSOLD=$IFS
IFS=$'\n'
n=1
for arq in $(find /caminho/completo/para/pasta/ -type f | sort -V); do
mv -v "${arq}" "$(dirname ${arq})/$n"
((n++))
done
IFS=$IFSOLD

Onde tem "/caminho/completo/para/pasta/" substitua pela pasta que você vai testar/executar o script.
Salve o script como "renomear.sh", por exemplo, e execute assim:
bash renomear.sh

Obs: Faça um backup dos arquivos, para o caso de algo dar errado!




Boa tarde, sobre este metodo eu tenho de executa-lo no terminal ou em algum outro programa especifico ?



6. Re: É possível a renomeação em massa de arquivos em pastas e subpastas ? [RESOLVIDO]

Gabriel
GaelSilraza

(usa Manjaro Linux)

Enviado em 12/03/2021 - 13:12h


leandropscardua escreveu:


O mint tem um programa renomear em massa no menu .


Saberia me informar o nome do programa ? Irei tentar instala-lo no ZorinOS


7. Re: É possível a renomeação em massa de arquivos em pastas e subpastas ? [RESOLVIDO]

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 12/03/2021 - 14:21h

Gabrielss12985 escreveu:
Boa tarde, sobre este metodo eu tenho de executa-lo no terminal ou em algum outro programa especifico ?


Sim, é no terminal.


8. Re: É possível a renomeação em massa de arquivos em pastas e subpastas ? [RESOLVIDO]

Gabriel
GaelSilraza

(usa Manjaro Linux)

Enviado em 12/03/2021 - 14:52h


Ryuk escreveu:

Sim é possível. Faça um teste usando o script abaixo:
#!/bin/bash

IFSOLD=$IFS
IFS=$'\n'
n=1
for arq in $(find /caminho/completo/para/pasta/ -type f | sort -V); do
mv -v "${arq}" "$(dirname ${arq})/$n"
((n++))
done
IFS=$IFSOLD

Onde tem "/caminho/completo/para/pasta/" substitua pela pasta que você vai testar/executar o script.
Salve o script como "renomear.sh", por exemplo, e execute assim:
bash renomear.sh

Obs: Faça um backup dos arquivos, para o caso de algo dar errado!


Boa tarde, fiz uma tentativa com o comando descrito, sobretudo, consta que ele não reconhece o caminho, embora esteja o inserindo corretamente. Neste caso, tenho de inseri-lo de uma maneira especifica ?

Erro:
#!/bin/bash

IFSOLD=$IFS
IFS=$'\n'
n=1
for arq in $(find /home/gabriel/Área de Trabalho/teste -type f | sort -V); do
mv -v "${arq}" "$(dirname ${arq})/$n"
((n++))
done
IFS=$IFSOLD "



9. Re: É possível a renomeação em massa de arquivos em pastas e subpastas ? [RESOLVIDO]

Gabriel
GaelSilraza

(usa Manjaro Linux)

Enviado em 13/03/2021 - 14:55h


Ryuk escreveu:

Gabrielss12985 escreveu:
Boa tarde, fiz uma tentativa com o comando descrito, sobretudo, consta que ele não reconhece o caminho, embora esteja o inserindo corretamente. Neste caso, tenho de inseri-lo de uma maneira especifica ?

Erro:
#!/bin/bash

IFSOLD=$IFS
IFS=$'\n'
n=1
for arq in $(find /home/gabriel/Área de Trabalho/teste -type f | sort -V); do
mv -v "${arq}" "$(dirname ${arq})/$n"
((n++))
done
IFS=$IFSOLD "


O problema está nos espaços, "Área de Trabalho". Quando tiver espaço no nome da pasta use aspas ou coloque a barra invertida antes de cada espaço Área\ de\ Trabalho.

Deixe assim:
for arq in $(find "/home/gabriel/Área de Trabalho/teste" -type f | sort -V); do




Opa, muito obrigado pela ajuda pois consegui realizar a renomeação em massa de todos os arquivos, porém, seria possível realizar o procedimento sem alterar o formato original dos arquivos ? Muitos deles eram arquivos de video e imagem que acabaram ficando sem formatação, haveria uma forma de contornar isto ?


10. Re: É possível a renomeação em massa de arquivos em pastas e subpastas ?

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 13/03/2021 - 18:07h

Fiz uma pequena modificação para preservar as extensões dos arquivos, teste agora pra ver se ficou Ok!

#!/bin/bash
IFSOLD=$IFS
IFS=$'\n'
n=1
for arq in $(find "/home/gabriel/Área de Trabalho/teste" -type f | sort -V); do
mv -v "${arq}" "$(dirname ${arq})/${n}.${arq##*.}"
((n++))
done
IFS=$IFSOLD




11. Re: É possível a renomeação em massa de arquivos em pastas e subpastas ? [RESOLVIDO]

Gabriel
GaelSilraza

(usa Manjaro Linux)

Enviado em 13/03/2021 - 20:31h


Ryuk escreveu:

Fiz uma pequena modificação para preservar as extensões dos arquivos, teste agora pra ver se ficou Ok!

#!/bin/bash
IFSOLD=$IFS
IFS=$'\n'
n=1
for arq in $(find "/home/gabriel/Área de Trabalho/teste" -type f | sort -V); do
mv -v "${arq}" "$(dirname ${arq})/${n}.${arq##*.}"
((n++))
done
IFS=$IFSOLD




Opa, muito obrigado pela ajuda me salvou muito, mas se não muito incomodo, caso futuramente seja necessário realizar a adição de alguma informação no nome por este código, seria possível ?
Peço desculpas pelo incomodo desde já.



12. Re: É possível a renomeação em massa de arquivos em pastas e subpastas ? [RESOLVIDO]

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 13/03/2021 - 22:04h


Gabrielss12985 escreveu:

Opa, muito obrigado pela ajuda me salvou muito, mas se não muito incomodo, caso futuramente seja necessário realizar a adição de alguma informação no nome por este código, seria possível ?
Peço desculpas pelo incomodo desde já.


Sim, certamente. Dar pra fazer praticamente tudo com shell script e outras linguagens de programação. Basta dizer o que quer fazer que estaremos aqui prontamente para tentar uma solução.

Caso já tenha resolvido o seu problema, marque o tópico como RESOLVIDO e escolha a MELHOR RESPOSTA. Isso ajuda outros que possam ter a mesma dúvida, e incentiva quem ajuda.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts