Предполагая, что текстовый файл является точным, как вы упомянули:
* Name
Jeff
* Are you feeling ok?
Yes
* Did you do your homework?
No
* What are your favourite subjects?
Maths, science
Тогда вы можете использовать Select-String
, чтобы получить вопросы и ответы, такие как:
Get-Content -Path .\test.txt |
Select-String -Pattern '^\* .*$' -Context 1 |
ForEach-Object {
[PsCustomObject]@{
Question = $_.Line -replace '\* ', ''
Answer = $_.Context.PostContext[0].Trim()
}
}
Пример вывода:
Question Answer
-------- ------
Name Jeff
Are you feeling ok? Yes
Did you do your homework? No
What are your favourite subjects? Maths, science
Порядок вопросов в файле не имеет значения, хотя они будут отображаться в выводе в том порядке, в котором они найдены. Вы можете использовать Export-Csv
, чтобы создать CSV-файл, который можно открыть в Excel, или найти в Интернете технику манипулирования файлами XLSX из PowerShell.