Несколько способов собрать файлы с определенными расширениями в единый каталог

Вы часто ищете файлы с определенными расширениями, разбросанные по нескольким каталогам? Ручной поиск и сбор их в одном месте может оказаться утомительной задачей. К счастью, есть несколько способов упростить этот процесс. В этой статье блога мы рассмотрим различные способы копирования файлов с определенными расширениями из нескольких каталогов в один каталог, используя разговорный язык и примеры кода.

Метод 1: магия командной строки с findи cp:
Если вам удобно работать с командной строкой, вот быстрый метод с использованием Команды 5и cp:

find /path/to/source -type f -name "*.extension" -exec cp {} /path/to/destination \;

Метод 2. Создание сценариев Python.
Python предоставляет мощный и гибкий способ автоматизации операций с файлами. Вот скрипт Python, который достигает желаемого результата:

import os
import shutil
source_dirs = ['/path/to/source/dir1', '/path/to/source/dir2']
destination_dir = '/path/to/destination'
file_extensions = ['.extension1', '.extension2', '.extension3']
for dir in source_dirs:
    for root, dirs, files in os.walk(dir):
        for file in files:
            if any(file.endswith(ext) for ext in file_extensions):
                shutil.copy(os.path.join(root, file), destination_dir)

Метод 3. Создание сценариев PowerShell.
Если вы пользователь Windows, PowerShell может стать удобным инструментом для управления файлами. Вот скрипт PowerShell, который выполняет эту задачу:

$sourceDirs = @('/path/to/source/dir1', '/path/to/source/dir2')
$destinationDir = '/path/to/destination'
$fileExtensions = @('.extension1', '.extension2', '.extension3')
foreach ($dir in $sourceDirs) {
    Get-ChildItem -Path $dir -Recurse -File |
    Where-Object { $fileExtensions -contains $_.Extension } |
    Copy-Item -Destination $destinationDir
}

Метод 4: Файловые менеджеры на основе графического интерфейса.
Если вы предпочитаете графический пользовательский интерфейс, существует несколько файловых менеджеров, предлагающих расширенные возможности поиска и копирования. Примеры включают Total Commander, FreeCommander и XYplorer. Эти инструменты позволяют вам искать файлы по расширению, выбирать их и копировать в указанное место.

Сбор файлов с определенными расширениями из нескольких каталогов в один не должен занимать много времени. Используя инструменты командной строки, такие как findи cp, или языки сценариев, такие как Python и PowerShell, вы можете автоматизировать процесс и сэкономить драгоценное время. Альтернативно, использование файловых менеджеров на основе графического интерфейса может обеспечить более удобный интерфейс. Выберите метод, который соответствует вашим предпочтениям, и начните эффективно организовывать свои файлы.