Como enviar 2 comandos em 1 arquivo de texto no powershell

1

Cumprimentando tudo,

Eu tenho visitado o Q & A, mas não consigo encontrar qualquer maneira de fazer isso. Basicamente, eu queria obter o resultado da sintaxe 2 em um arquivo de texto.

aqui é a parte do 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>

Então, quando eu tento executar o comando no powershell: $doc.job.sample.scheme.analyte me dá o resultado para o Analyte que é bom, mas eu também quero obter o resultado para obter o resultado do comando $doc .job.sample em um arquivo de texto de saída. foi capaz de produzir, mas apenas com 1 comando.

questão secundária: como posso exibir apenas o valor SAMPLETIME quando executo $doc1.job.sample ?

    
por Leo 26.09.2016 / 01:19

1 resposta

1

Parece que você está perdendo uma tag de fechamento em <JOB> , por isso vou assumir que há uma no final do documento. Eu também estou supondo que você está carregando o XML de alguma forma semelhante a este:

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

Suponho que o modo como você está enviando as informações para o arquivo é com o operador de redirecionamento > . Como você provavelmente descobriu, isso afasta todo o conteúdo existente do arquivo de destino. Você pode acrescentar ao arquivo, no entanto, com >> . Portanto, você pode fazer algo assim:

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

Se você deseja obter o valor de um atributo, apenas pode tratar o atributo como outro objeto-filho no objeto de seu próprio elemento. Isso imprime o que você deseja na tela; você pode redirecioná-lo conforme apropriado:

$doc.JOB.SAMPLE.SAMPLETIME
    
por 26.09.2016 / 01:42

Tags