Powershell Присвоение изменений файла в переменную

Есть файл, который время от времени добавляет в себя новые записи. Нужно отследить эти изменения изменения в переменную. Вычитал, что необходимое можно получить с помощью базовой команды Get-Content -Path $global:Path -Wait -Tail 0 Эта команда прекрасно выводит необходимые значения в консоль, однако при попытке присвоения этих данных в переменную типа [string] - значение не присваивается. Присваивание делал стандартно $global:ChangedData = Get-Content -Path $global:Path -Wait -Tail 0 Такая конструкция висит в ожидании изменений в файле, но изменения не присваиваются.

Что не так в данном присваивании?


Ответы (1 шт):

Автор решения: Daemon-5

Это не ответ, а лишь предложение к поиску ответа (текст не помещается в формат комментария).

Есть простой пример чтения данных фонового задания на SO. Проверка (новых) данных, которые будут получены от фонового задания, осуществляется в цикле. Отсюда получается следующий код:

$jobToRun = Start-Job -ScriptBlock {    Get-Content -Path "C:\Folder\MyFile.txt" -Wait -Tail 0 }

while ( [Boolean]$( $jobToRun.JobStateInfo.state -ne "Completed" ) )
{
 $diff= (Receive-Job -Job $jobToRun)
 Write-Output $diff
## Start-Sleep 1  
}
→ Ссылка