Вот пример скрипта на Python, который сравнивает имена существующих директорий в папке "folder", находит номер последней папки и создает копию директории "source_folder" с увеличенным номером:
```python
import os
import re
import shutil
# Путь к директории со всеми папками
folder_path = "folder"
# Путь к исходной директории, которую нужно скопировать
source_folder_path = "source_folder"
# Получаем список имен всех директорий в папке "folder"
existing_folders = next(os.walk(folder_path))[1]
# Регулярное выражение для поиска номера в имени директории
pattern = re.compile(r"\d+")
# Функция для извлечения номера из имени директории
def extract_number(name):
match = pattern.search(name)
if match:
return int(match.group())
return 0
# Сортируем имена директорий по возрастанию номера
existing_folders.sort(key=extract_number)
# Проверяем, есть ли директории вообще
if existing_folders:
# Извлекаем номер последней директории
last_folder_number = extract_number(existing_folders[-1])
else:
last_folder_number = 0
# Увеличиваем номер на 1 для создания новой директории
new_folder_number = last_folder_number + 1
# Создаем новое имя для директории
new_folder_name = f"folder{new_folder_number}"
# Копируем исходную директорию в новую директорию с увеличенным номером
shutil.copytree(source_folder_path, os.path.join(folder_path, new_folder_name))
```
Примечания:
1. В данном примере используется модуль `os` для работы с файловой системой, модуль `re` для работы с регулярными выражениями и модуль `shutil` для копирования директории.
2. Пути к папкам "folder" и "source_folder" указываются в переменных `folder_path` и `source_folder_path`.
3. Регулярное выражение `r"\d+"` используется для поиска одного или нескольких цифр в имени директории.
4. Функция `extract_number` используется для извлечения номера из имени директории. Если номер не найден, возвращается 0.
5. Имена существующих директорий в папке "folder" сортируются по возрастанию номера с помощью функции `sort` и ключа `extract_number`.
6. Если папок в папке "folder" нет, то номер последней папки устанавливается равным 0.
7. Новое имя для директории создается с помощью f-строки, подставляя увеличенный номер в "folder".
8. Копирование директории "source_folder" в новую директорию с увеличенным номером выполняется с помощью функции `copytree` модуля `shutil`.
9. Если директория с таким именем уже существует, возникнет исключение.
10. Вы можете изменить пути к директориям, регулярное выражение и логику скрипта в соответствии с вашими потребностями.