2017-11-03 8 views
1

PowerShellでtracerpt.exeコマンドのラッパーを組み合わせるのが最も苦労しています。私はコマンド引数にスペースを取るためのすべての私の普通の技を試しましたが、tracerpt.exeコマンドのエラーは引数を引用符で囲みます。また、私のダッシュが取り除かれているように見えます。なぜか分からないのです。引用符を送らずにダッシュやスペースを保持するために引数を書式設定する方法を知っている人は誰でも知っていて、本当に役に立ちます。traceprtを使用してpowershellでETLをXMLに変換すると、ダッシュと引数のスペースが発生する

また、PowerShellでETLをXML形式に変換する方法を知っている人がいれば、私は別の解決策になります。

Function Convert-ETLtoXML 
{ 
    param 
    (
    [Parameter(Mandatory = $true, ValueFromPipeline = $true)] 
    [string]$ETLinputFile 

) 
    $space = [char]32 
    [string]$confrimOverWrite = '-y' 
    [String]$format = "-of" + $space + "XML" 
    [string]$outfile = "-o" +$space + "xxyy.xml" 
    [string]$command = 'C:\Windows\system32\tracerpt.exe' 
    Write-Host -ForegroundColor Red "$command $ETLinputFile $confrimOverWrite $format $outfile" 

    & $command $ETLinputFile $confrimOverWrite $format $outfile 


    } 
    Convert-ETLtoXML -ETLinputFile .\DEMO.etl 

出力:

C:\Windows\system32\tracerpt.exe .\DEMO.etl -y -of XML -o xxyy.xml 
Argument 'of XML' is unknown. 
Argument 'o xxyy.xml' is unknown. 

エラー: パラメータが正しくありません。

答えて

0

これは私のために働くように見えた:

Function Convert-ETLtoXML 
{ 
    param 
    (
     [Parameter(Mandatory = $true, ValueFromPipeline = $true)] 
     [string]$ETLinputFile 
    ) 
    $Command = {C:\Windows\system32\tracerpt.exe $ETLinputFile -y -of XML -o xxyy.xml} 

    Write-Host -Object $Command.ToString() -ForegroundColor Red 

    $Command.Invoke() 
} 
Convert-ETLtoXML -ETLinputFile .\DEMO.etl 
+0

はそんなにありがとう、私はコマンドを呼び出すための新しい方法を学びました。 –

関連する問題