2016-04-13 6 views
0

$ RolesFunArrayという名前の配列があります。Powershellのコンテンツ追加配列出力にSystem.Object []を表示

ZPP01 0 
ZPP02 1 
ZPP03 1 

すべての配列はsystem.objectという$ RolesFunArrayを除いてsystem.stringです。

この変数をテキストファイルに出力しようとしています。常に文字列ではなくオブジェクト型を示します。私は、[文字列] $ RolesFunArrayといくつかの他のものを試してみましたが、どれも動作しません(エラーはなく、System.Object []だけです)。

基本的には、行単位でテキストを取得し、そのテキストを別のファイルと照合してから、2つのファイルからテキストを取り出し、その$ Line変数に書き込んで出力します3番目のファイルの新しい行。 $ Line出力の変数間にタブが必要です。

アイデア?ありがとう!

ここに私が出力に使用しているものがあります。

$Line = $FirstWord[1] + ([char]0x0009) + $TstcSplit[6] + ([char]0x0009) + $RolesFunArray 

add-content -Encoding ASCII -path "c:\sapdl\test\$File.log" -value "$Line'r" 
+0

ここで問題を再現するには、変数の状態を想定しておく必要があります。 '$ FirstWord'は文字列ですか?そうでなければ問題になります。これは、オブジェクトがどのように保存されるかを決定するので、私の最初の質問になります。また、 '$ line'が先に入力された場合、コード全体にそのように保持されます。 '$ RolesFunArray'は、そのようにキャストされた場合、スペースで区切られた文字列でなければなりません。 '$ FirstWord.GetType()。Fullname'とも呼ばれます。 – Matt

+0

また、タブ区切りファイルを作成している場合は、オブジェクトを所有し、' Export-CSV -delimiter "' t "' – Matt

+0

$ FirstWord.GetType()を使用することもできます。 Fullnameは文字列として報告されます。 –

答えて

0

それを行うための最も簡単な方法はにある:あなたは、XMLを使ってみましょうするために、他の多くの機能、JSONなど は、そうでなければあなたは、単に"$RolesForFunArray"

試みることがあります

$RolesForFunArray | Export-Csv out.csv 

出力はオブジェクトの種類に依存しますが、これはString[]配列に対して機能します。他のタイプの場合は、アイテムごとにforeachループアイテムを使用して変換する必要があります。

+0

返信ありがとうございます。配列を文字列として別の変数($ Line)に出力し、それを投稿したコードのadd-content行を使ってファイルに出力します。 $ RolesFunArray(まだ出力されているsystem.object [])を引用符で囲んでも機能しませんでした。私が立ち往生している間、私は徹底的に掘り下げていきます –

関連する問題