Как вывести 2 команды в 1 текстовом файле в powershell

Приветствую всех,

Я просматривал Q&A, но не могу найти способ сделать это. В основном я хотел получить результат 2 синтаксиса в 1 текстовом файле.

вот часть XML:

<JOB PRO_JOB="D6C1608493" XMLMODE="REPORT">

<SAMPLE CUID="0001347496" SAMPLETYPE="OTHER" SAMPLEIDENT="1608493-2" SAMPLETIME="18/09/2016 2300">

    <SCHEME SCH_CODE="/CSA" SCHEMETYPE="ANALYS">


        <ANALYTE ANALYTECODE="S" ANALYTENAME="S" TAG="FEED1" NUMERICVALUE="1.019999980926514" ROUNDEDVALUE="1.02">
        </ANALYTE>
        </SCHEME>
</SAMPLE>

Итак, когда я пытаюсь выполнить команду в powershell:$doc.job.sample.scheme.analyte это дает мне результат для аналита, который в порядке, но я хочу также получить результат, чтобы получить результат команды$doc .job.sample в 1 выходной текстовый файл. был в состоянии вывести его, но только с 1 командой.

Дополнительный вопрос: как мне отобразить только значение SAMPLETIME при выполнении$doc1.job.sample?

1 ответ

Решение

Похоже, вы пропустили закрывающий тег <JOB>так что я собираюсь предположить, что есть один в конце документа. Я также предполагаю, что вы загружаете XML примерно так:

$doc = [xml](Get-Content '.\samples.xml')

Я предполагаю, что вы выводите информацию в файл с помощью оператора перенаправления >, Как вы, вероятно, обнаружили, это уничтожает любое существующее содержимое целевого файла. Вы можете добавить в файл, однако, с >>, Поэтому вы можете сделать что-то вроде этого:

$doc.JOB.SAMPLE.SCHEME.ANALYTE > outfile.txt
$doc.JOB.SAMPLE >> outfile.txt

Если вы хотите получить значение атрибута, вы можете просто трактовать атрибут как другой дочерний объект на объекте его собственного элемента. Это выводит на экран то, что вы хотите; вы можете перенаправить его соответствующим образом:

$doc.JOB.SAMPLE.SAMPLETIME
Другие вопросы по тегам