Annuler tous les fichiers et dossiers d'un disque externe

3

J'ai des milliers de fichiers, dossiers et sous-dossiers dotés d’un disque dur externe. Je veux récupérer toutes les images dans ces dossiers. Je veux les défaire tous pour naviguer facilement dans ces images.

J'ai essayé de renommer les dossiers, mais cela ne semble pas possible.

    
posée ki lee 24.05.2016 - 16:34
la source

1 réponse

2

Conflits de noms

La première question que vous devez vous poser est de savoir s’il ya un risque de conflit de noms. En d'autres termes; s'il existe éventuellement une version hidden et une version non cachée du même répertoire ou fichier dans un même répertoire.

De bas en haut

En supposant que ce n’est pas le cas, c’est l’une des situations où vous devez renommer de bas en haut , car vous ne pouvez pas renommer (déplacer) les fichiers dans des dossiers qui viennent d’être renommés; le script ne les trouvera plus et se cassera.

Rendre les fichiers cachés visibles

De plus, en écrivant cette réponse, un commentaire de @Rinzwind est apparu au-dessus de ma tête, mentionnant le fait d'appuyer sur Ctrl + H rendra visibles tous les fichiers et dossiers cachés. ce qui est vrai bien sûr.

Si vous souhaitez néanmoins renommer les fichiers et dossiers:

Un script pour le faire

#!/usr/bin/env python3
import os
import sys
import shutil

directory = sys.argv[1]

for root, dirs, files in os.walk(directory, topdown=False):
    for f in files:
        if f.startswith("."):
            shutil.move(os.path.join(root, f), os.path.join(root, f[1:]))
    for dr in dirs:
        if dr.startswith("."):
            shutil.move(os.path.join(root, dr), os.path.join(root, dr[1:]))

Comment utiliser

  1. Copiez le script dans un fichier vide, enregistrez-le sous le nom rename_dotted.py
  2. Ouvrez un terminal et tapez la commande:

    python3 /path/to/rename_dotted.py '<directory>'
    

    '<directory>' est le répertoire, doit être entre guillemets s'il comprend un ou plusieurs espaces.

    Comme toujours, veuillez d'abord essayer un échantillon.

réponse donnée Jacob Vlijm 24.05.2016 - 16:58
la source

Lire d'autres questions sur les étiquettes