Talvez considere usar um método puro de linha de comando para transferir arquivos de quantidades muito grandes, sem dúvida você descobrirá que o processo é substancialmente mais rápido do que usar uma GUI.
Existem muitas maneiras diferentes de fazer isso, mas o seguinte funcionou com rapidez, segurança e eficiência no meu sistema:
find . -maxdepth 1 -type f -print0 | xargs -0 mv -t <destination>
Alguma explicação para este comando:
- Seu diretório de entrada é o '.' caractere e para este comando em particular, você precisa estar nesse diretório
- Seu diretório de saída é o
<destination>
do meu exemplo. Obviamente, modifique isso para atender às suas próprias necessidades e deixar de fora os colchetes.
- Essa sintaxe permite nomes de arquivos com espaços como bônus :)
Permutações infinitas são possíveis, mas isso deve funcionar bem e com muito mais eficiência do que a GUI. Uma permutação, por exemplo: se você quiser mover apenas arquivos pdf, poderá executar:
find . -iname "*.pdf" -maxdepth 1 -type f -print0 | xargs -0 mv -t <destination>
O uso de xargs
abre muitas possibilidades, particularmente com a movimentação de um número tão grande de arquivos. Muitas, muitas possibilidades ....
Problemas potenciais:
Há pelo menos duas armadilhas em potencial a serem ponderadas, graças aos comentários abaixo por esses pensamentos:
- O diretório de destino pode estar corrompido, em um local subseqüentemente inacessível, com erros de digitação etc.
mv
ainda moverá os arquivos para lá! Tenha cuidado aqui ...
- Se a
-t
opção ( --target-directory
) estiver ausente e a pasta de destino for realmente um arquivo, você moverá um arquivo e falhará no restante. mv
tem 2 usos: renomear fonte para destino ou mover fonte para diretório . Mais uma vez, tenha cuidado ...
cp -R SRC/ DEST/
)