Возможно, стоит подумать об использовании метода чистой командной строки для передачи файлов очень большого количества, вы, несомненно, обнаружите, что этот процесс значительно быстрее, чем при использовании графического интерфейса.
Есть много разных способов сделать это, но следующие сработали быстро, безопасно и эффективно в моей системе:
find . -maxdepth 1 -type f -print0 | xargs -0 mv -t <destination>
Некоторое объяснение этой команды:
- Ваш входной каталог - «.» символ и для этой конкретной команды вы должны быть в этом каталоге
- Ваш выходной каталог
<destination>
в моем примере. Очевидно, измените это в соответствии со своими потребностями и не включайте скобки.
- Этот синтаксис учитывает имена файлов с пробелами в качестве бонуса :)
Возможны бесконечные перестановки, но это должно работать хорошо и намного эффективнее, чем графический интерфейс. Например, одна перестановка: если вы хотите переместить только PDF-файлы, вы можете запустить:
find . -iname "*.pdf" -maxdepth 1 -type f -print0 | xargs -0 mv -t <destination>
Использование xargs
открывает много возможностей, особенно при перемещении такого большого количества файлов. Много, много возможностей ....
Потенциальные проблемы:
Есть как минимум 2 потенциальных подводных камня для размышления, спасибо комментаторам ниже за эти мысли:
- Ваш целевой каталог может быть поврежден, в последующем недоступном месте, опечатке и т. Д. Все
mv
равно файлы будут перемещены туда! Будь осторожен ...
- Если
-t
опция ( --target-directory
) отсутствует и целевая папка фактически является файлом, вы переместите один файл, а остальные потерпят неудачу. mv
имеет 2 использования: переименовать источник в место назначения или переместить источник в каталог . Опять будь осторожен ...
cp -R SRC/ DEST/
)