Envisagez peut-être d'utiliser une méthode de ligne de commande pure pour transférer de très grandes quantités de fichiers, vous trouverez sans doute que le processus est substantiellement plus rapide que l'utilisation d'un gui.
Il existe de nombreuses façons de procéder, mais la méthode suivante a fonctionné rapidement, en toute sécurité et efficacement sur mon système :
find . -maxdepth 1 -type f -print0 | xargs -0 mv -t <destination>
Une explication pour cette commande :
- Votre répertoire d'entrée est le caractère '.' et pour cette commande particulière, vous devez vous trouver dans ce répertoire.
- Votre répertoire de sortie est le
<destination>
dans mon exemple. Vous pouvez évidemment le modifier pour l'adapter à vos besoins et supprimer les parenthèses.
- Cette syntaxe permet d'utiliser des noms de fichiers avec des espaces en prime :)
Des permutations infinies sont possibles mais cela devrait bien fonctionner et de manière beaucoup plus efficace que le gui. Une permutation par exemple : si vous vouliez déplacer sólo des fichiers pdf que vous pourriez exécuter :
find . -iname "*.pdf" -maxdepth 1 -type f -print0 | xargs -0 mv -t <destination>
Utilisation de xargs
ouvre de nombreuses possibilités, notamment avec le déplacement d'un si grand nombre de fichiers. Beaucoup, beaucoup de possibilités....
Problèmes potentiels :
Il y a au moins deux pièges potentiels à considérer, merci aux commentateurs ci-dessous pour ces réflexions :
- Votre répertoire de destination peut être corrompu, se trouver dans un endroit inaccessible par la suite, avoir été mal saisi, etc.
mv
déplacera quand même les fichiers à cet endroit ! Faites attention...
- Si le
-t
option ( --target-directory
) est manquant et que le dossier de destination est en fait un fichier, vous déplacerez un fichier et échouerez pour le reste. mv
a 2 utilisations : renommer de la source à la destination ou déplacer source pour répertoire . Encore une fois, faites attention...