Power Automate – Копирование одного сайта SharePoint на другой с исключением типа файла

Вопрос или проблема

Итак… У меня есть автоматизированный поток, который копирует файлы из одной папки на одном сайте SharePoint в целевую папку на другом сайте (в одном и том же арендаторе). Он настроен на исключение определенного типа файлов во время копирования, используя по сути цикл for each. Однако, поскольку у меня только один цикл, он выполняется только для корневой папки. Как мне сделать так, чтобы поток динамически обрабатывал вложенные папки? В исходной папке в будущем появится больше папок, и я хотел бы настроить поток на выполнение раз в день.

Поток выглядит примерно так:

Вручную запустить поток (для тестирования потока перед автоматизацией)

Список папок

  • выбран сайт источника
  • выбрана папка источника

Применить для каждого

  • “body” из списка папок

Условие

  • файл не заканчивается на .pdf (например)

    • Если ложь, действие не введено
    • Если истина, Копировать файл

    Адрес текущего сайта введен
    Файл для копирования: Id из списка папок
    Адрес целевого сайта введен
    Целевая папка введена
    Если другой файл уже там: Заменить

Мне потребовалось время, чтобы эта часть заработала, затем я осознал, что она не проходит через вложенные папки, и “pdf” все еще копировались.

Какие-нибудь идеи? Я совершенно неправильно выбрал параметры в потоке?

Ответ или решение

Автоматизация копирования файлов в SharePoint с исключением определенного типа файлов

В последние годы многие организации активно используют платформу Power Automate для автоматизации рутинных задач. Одной из распространенных задач является копирование файлов из одной библиотеки SharePoint в другую. При этом часто возникает необходимость в исключении некоторых типов файлов, например, документов формата PDF. В этой статье мы рассмотрим, как можно динамически обходить вложенные папки во время копирования файлов с помощью Power Automate, чтобы исключить определённые типы файлов.

Проблема и ключевые моменты

Вы уже настроили поток, который копирует файлы из одной SharePoint-сайта в другую, и используете цикл "Для каждого" (Apply to each) для фильтрации файлов, исключая PDF-документы. Однако, как вы отметили, ваш цикл не работает с вложенными папками. Для решения этой проблемы необходимо внести изменения в текущую реализацию потока.

Шаги для настройки потока Power Automate

  1. Проверка структуры папок: Прежде всего, вам нужно зафиксировать структуру ваших исходных папок. Используйте динамическое извлечение всех папок и вложенных папок для обеспечения полной обработки.

  2. Создание триггера для автоматизации: Измените начальный этап потока с ручного триггера на автоматическое выполнение один раз в день. Вы можете использовать планировщик, доступный в Power Automate, для настройки этого.

  3. Использование действия "Получить содержимое папки": Вместо использования действия "Список папки" (List folder), используйте действие "Получить содержимое папки" (Get files (properties only)). Этот метод не только вернет файлы в текущей папке, но и вложенные папки. Убедитесь, что вы выбрали параметр "Включить вложенные папки".

  4. Фильтрация файлов: Включите условие для исключения PDF-документов (или любого другого формата), как это было выполнено ранее. Убедитесь, что код корректно применяет логику фильтрации для всех уровней вложенности.

  5. Циклы для обработки файлов: Используйте цикл "Для каждого" (Apply to each) для обработки всех файлов, полученных из предыдущего шага. Этот цикл должен быть вложен внутри другого цикла, который будет обрабатывать каждую папку на каждом уровне вложения.

  6. Копирование файлов: Внутри первого цикла выполните условие для проверки типа файла, а затем используйте действие "Копировать файл" (Copy File) для перемещения всех файлов, которые не соответствуют исключаемому типу, в целевую папку.

  7. Тестирование и отладка: После завершения настройки потока важно протестировать его, чтобы убедиться в корректной работе. Для этого вы можете временно настроить поток на запуск вручную и проверить все шаги из источника в целевую папку.

Пример потока

Ваш поток для копирования файлов теперь может выглядеть следующим образом:

  • Триггер: Запуск по расписанию (ежедневно).
  • Получить содержимое папки: Указать исходный сайт и папку. Включить вложенные папки.
  • Цикл "Для каждой папки": Обрабатывать вложенные папки.
    • Цикл "Для каждого файла": Обрабатывать файлы внутри папок.
    • Условие: Если файл не заканчивается на .pdf
      • Если да:
      • Копировать файл: Указать целевой сайт и папку.

Заключение

С помощью описанных выше шагов вы сможете эффективно настроить поток для автоматического копирования файлов из одной библиотеки SharePoint в другую, с исключением необходимых типов файлов, что обеспечит надежный и организованный подход к управлению документами. Необходимость работы с вложенными папками требует большего внимания, но Power Automate предоставляет достаточно возможностей для достижения этой цели. Ознакомьтесь с передовыми практиками и оптимизируйте свои потоки для лучшего управления данными в вашей организации.

Оцените материал
Добавить комментарий

Капча загружается...