FileSystemWatcher для выполнения функций .NET

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

Задача

Я хотел бы использовать командлет Powershells Register-Event, чтобы дождаться, когда файл будет помещен в папку, а затем вызвать функцию, которая анализирует файл и выводит его в Excel. Я неМне нужна помощь с аспектом кодирования, просто концепция. Для меня все еще немного загадочно то, где проходит это событие и с какими ресурсами оно должно работать.

Вещи, которые яve пробовал

Один файл .ps1 с зарегистрированными событиями внизу, вызывающий функцию вверху, вызываемую пакетным файлом.

Поведение: Остановки на этой линии:

$sr = new-object System.IO.StreamReader($copyPath)

Это мой первый вызов .NET, поэтому я предположил, что это проблема с .NET.

Два файла .ps1, FileWatcher и Parser, оба прекрасно работают при отдельном запуске, вызываемом пакетным файлом.

Поведение: FileWatcher Outputs "Эта линия " но не может вывести какие-либо строки в Parser и никогда не попадает в эту строку.

Register-ObjectEvent $fsw Changed -SourceIdentifier FileChange -Action {
  Write-Host "This Line"
  .\src\Parser.ps1
  Write-host "That Line"
}

Я даже впал в отчаяние, чтобы перейти к двум файлам PS1 и двум пакетным файлам. Давайте просто скажем, что нет работа.

Общая команда командного файла, которую я использую:

powershell.exe -noexit C:\scripts\src\FileWatcher.ps1

Вопросы

Почему некоторые команды работают нормально при вызове из зарегистрированного события, а другие команды, такие как .NET, не работают?

Является ли то, что я пытаюсь достичь, возможно?

У вас есть лучший способ достичь моей цели? (Только сценарии, помните, что это исправление).

Ответы на вопрос(1)

Ваш ответ на вопрос