Как вывести вывод Handbrake как на экран, так и в файл?

Поэтому я использовал командную строку Handbrake для кодирования своей коллекции видео для хранения на моем NAS, чтобы я мог использовать ее на своем HTPC. Я искал способ вывода как на экран, чтобы я мог наблюдать его вывод в виде кодирования, так и в файл, чтобы я мог вернуться и посмотреть на конкретный сеанс кодирования.

Для этого я решил использовать одно окно Powershell для запуска кодирования и вывода в файл, а затем другое окно Powershell для чтения файла журнала и его отображения на экране. Это работает, но я хочу улучшить это, поскольку это не идеально. Поскольку скрипт чтения файла читает с заданным интервалом, он пропускает строки. Также, если я уменьшу интервал, это повлияет на производительность системы, делая кодирование более медленным. Есть ли способ, которым я могу перенаправить вывод первого окна как в файл, так и на экран?

Первый сценарий powershell (тот, который запускает кодировку) с именем «Convert1.ps1» (запускается из каталога установки ручного тормоза):

net time \\ODIN |find "Current time"
./HandbrakeCLI.exe -i "<input file>" -o "<output file>" <handbrake parameters>

Второй скрипт powershell для вывода в файл с именем «Start_Convert.ps1»:

d:\Conversions\Convert.ps1 2>&1 | out-file d:\Conversions\Completed\Movies\9.29.2010.log

Третий сценарий powershell для чтения из этого файла журнала, который называется «Watch_Output.ps1»:

while (1)
{
(Get-Content d:\Conversions\Completed\Movies\9.29.2010.log)[-1]
Start-sleep 5
}

В идеале мне хотелось бы, чтобы все это было сведено к одному окну PowerShell, в котором запущен один скрипт, чтобы начать кодирование, вывод в файл и отобразить его на экране.

Редактирование (добавление решения): 2 разных способа сделать это, я иду с последним, так как это проще.

Способ № 1 - скрипт запуска задания, чтобы начать конверсию:

Start-Job -Name VideoConvert -ScriptBlock { d:\Conversions\Convert.ps1 2>&1 | out-file d:\Conversions\Movies\Movie.log }
Get-FileTail -Wait Encoding Unicode -Path D:\Conversions\Completed\Movies\Movie.log

Способ № 2 - Ти-объект Результирующий скрипт для запуска моих преобразований:

d:\Conversions\Convert.ps1 2>&1 |Tee-Object -File D:\Conversions\Completed\Movies\Movie.log

Еще раз спасибо всем. Это работает так же, как я хотел, чтобы это работало.

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

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