Сценарий Powershell для «отслеживания» каталогов на наличие новых файлов и перемещения в новые местоположения - PullRequest
0 голосов
/ 04 июня 2019

Я настраиваю процесс каталогов для подписания файлов операторами. Эти файлы должны быть обработаны после подписания, чтобы следующий оператор знал, что предыдущий процесс завершен.

Шаг 1. Исходный файл создается в X: \ 'имя оператора' \ 'Имя клиента'

Шаг 2. Оператор подписал файл и поместил подписанную версию в x: \ 'Имя оператора' \ 'Имя клиента' \ Подписано

Шаг 3. Администратор запустит пакетный файл или сценарий со своего рабочего стола, который переместит все файлы, созданные в любом X: \ 'Имя оператора' \ 'Имя клиента' \ Подписанная папка, в соответствующую X: \ 'Имя клиента папка.

Будет сохранен список операторов - возможно, в командном файле. Это уже существует в центральном файле Excel.

Все файлы будут .pdf У каждого оператора будет своя папка на X: \ У каждого оператора есть бесконечное количество потенциальных клиентских папок.

Все папки оператора и клиента создаются автоматически в vb, поэтому наименование будет идентичным.

Любая помощь приветствуется!

Спасибо

# Defines a list of operators. Must be identical to those in the main PDF operators table
$operatorlist = (
                "Operator One",
                "Operator Two",
                "Operator three",
                "Operator Four",
                "Operator Five",
                "Operator Six"
                )

# Defining the variables
$nametoFind = "\Signed"

foreach ( $FTM in $operatorlist )
{
$sourceFolder = ( JOIN-PATH "X:\"  $operatorlist )
#define the file to move
$FTM = Get-ChildItem $sourceFolder -Recurse | Where-Object {$_.PSIsContainer -and $_.Name.Endswith($nametoFind)}
$customerpath = Split-Path - Path $FTM -Parent -Resolve | Split-Path -Leaf

}

1 Ответ

0 голосов
/ 05 июня 2019

Этот ответ слишком долго помещать в комментарии.Итак, поместите здесь:

Почему бы просто не использовать службу Windows FSRM (диспетчер ресурсов файловой системы), чтобы сделать это против сценариев.Это специальный сервис для просмотра файлов данных и выполнения определенных действий.Вы можете посмотреть содержимое файла и принять решение о том, что с ним делать.Большая часть информации, которую вы найдете, говорит о Windows FCI (Инфраструктура классификации файлов).Тем не менее, ничто не мешает вам использовать FSRM для этой общей цели.См. Эту информацию:

Windows Server 2012> Использование диспетчера ресурсов файлового сервера (FSRM) для перемещения файлов, содержащих конфиденциальные данные

Если вы хотите использовать для этого PowerShell, товы посмотрите на реализацию Async FileSystemWatcher.На MS PowerShellGallery.com есть готовые сценарии, которые помогут вам начать работу.Загрузите и используйте как есть или реорганизуйте в соответствии с вашими потребностями.

Пример (ы):

Powershell FileSystemWatcher

В этом сценарии используется.Класс net FileSystemWatcher для подписки на события 'create', 'change' и 'delete' для файлов или папок в файловой системе NTFS.Он может использоваться для мониторинга папки или папок и может быть изменен для выполнения любых действий при срабатывании этих событий.

Загрузить: FileSystemWatcher.ps1

Папка монитора для событий файловой системы

.Synopsis
Мониторыпапка для изменений с использованием непостоянных асинхронных событий

.Description
Обертка вокруг IO.FileSystemWatcher и Register-ObjectEvent для отслеживания папки для событий файловой системы (Создано, Удалено, Изменено и / или Переименовано)

Загрузить: Monitor-Folder.ps1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...