Как вывести 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