• Как найти множество файлов по названию?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Вариант на Python:
    import os
    
    # path to main directory
    path = '/your/path'
    
    # table
    files = {
        'file_1.txt': 'dir_1',
        'file_2.txt': 'dir_1/dir_2',
        'file_3.txt': 'dir_1/dir_2/dir_3'
        # others
    }
    
    # moving files
    for file, directory in files.items():
        path_file = os.path.join(path, file)
        path_dir = os.path.join(path, directory)
    
        # checking for existence and creating directories if needed
        if not os.path.exists(path_dir):
            os.makedirs(path_dir)
    
        # checking for existence of the file in the target directory
        if os.path.exists(os.path.join(path_dir, file)):
            print(f"File {file} already exists in directory {directory}, skip.")
        else:
            os.rename(path_file, os.path.join(path_dir, file))
            print(f"The {file} file has been moved to a folder {directory}, success.")
    
    # example moving:
    #
    # /your/path
    # |-- /dir_1/file_1.txt
    # |-- /dir_1/dir_2/file_2.txt
    # |-- /dir_1/dir_2/dir_3/file_3.txt

    1. Возьмет данные из таблицы files.
    2. Переместит файлы (не существующие директории будут созданы, а уже существующие файлы не будет перезаписаны).

    Файлы необходимо разместить по адресу из переменной path.
    Ответ написан
    1 комментарий
  • Как найти множество файлов по названию?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Такое можно сделать быстро с помощью экселя. Из таблицы формируете столбец, в котором будет сконкатенированы команды вида
    rename прошлый\путь\к\файлу.txt новый\путь\к\файлу.txt

    построчно для каждого файла. Копируете этот столбец, вставляете в текстовый .bat-файл и выполняете его.
    Ответ написан
    2 комментария