A renomeação precisa ser feita de baixo para cima
O problema é que você precisa renomear os diretórios de baixo para cima . Senão o comando tentará renomear arquivos & diretórios que estão dentro de pastas já movidas (renomeadas) e, portanto, não podem mais encontrá-las.
Aqui é onde python
os.walk()
pode ser usado, em combinação com topdown=False
Em um pequeno script:
#!/usr/bin/env python3
import os
import shutil
import sys
for root, dirs, files in os.walk(sys.argv[1], topdown=False):
for f in files:
if f.startswith(" "):
shutil.move(root+"/"+f, root+"/"+f.strip())
for dr in dirs:
if dr.startswith(" "):
shutil.move(root+"/"+dr, root+"/"+dr.strip())
Para usar
- Copie o script em um arquivo vazio, salve-o como
no_space.py
-
Execute-o pelo comando:
python3 /path/to/no_space.py /path/to/directory/to/rename