2017-06-08 14 views
0

csvファイル内の各オブジェクトの先頭にテキストを追加するPowerShellの窓が私はこのようなCSVファイルを持っている

C:

header 
C:\Users\User1 
C:\Users\User2 
C:\Users\User3 

\ \ユーザーは、私はこのような新しいデータを持つ単一の列を含む新しいCSVファイルを作成する必要があります

これを達成する最も良い方法は何ですか?テストされ、

import-csv $yourcsv | Select-Object *,@{Name="fullpath";Expression={"C:\users\$($_.path)"}} | export-csv -notypeinformation $newcsv 

この時間と作業を行います。

+0

あなたは何を試しましたか、どのように失敗しましたか?理想的には、試したことの[最小限の、完全で検証可能な例](https://stackoverflow.com/help/mcve)を提供し、エラーメッセージやエラーメッセージなどの特定の情報を含めることが理想的です誤った出力。 SOはコード作成サービスではありません。最善の質問は、有益な情報を提供するものであり、回答者が自分の正解を工夫するためのガイドとなり得ることです。 [良い質問をする方法](https://stackoverflow.com/help/how-to-ask)を参照してください。 –

+0

私はこれを使って遊んできました: Import-Csv -Delim ';' disabled.csv | Foreach {$ _。samaccountname = "prepend \ $($ _。samaccountname)"; $ _} | Export-Csv dispaths.csv -Delim ';' -NoTypeInformation しかし、私にはプロパティの指定が見つかりません。私は間違ったツリーを吠えていると確信していました... – soltkr

+0

ファイルをPowerShellオブジェクトに読み込み、CSV内の各インスタンスをループし、プロパティ値を変更してファイルに書き戻します。 – thepip3r

答えて

1

この猫を肌するもう一つの方法は、Select-オブジェクトを介してカスタムプロパティの作成を使用することです。

編集:元のプロパティを必要としない場合は、[オブジェクトの選択]を変更して、カスタムプロパティを含むプロパティを選択します。

+0

これに感謝します。しかし、私は "このオブジェクトでプロパティ 'samaccountname'を見つけることができません。私はそれを実行します。私はセルA1に正確にこのテキストが含まれていることを確信しています:samaccountname。私はここで何が欠けているのですか? – soltkr

+0

これは正しい方向にあなたを得るためのサンプルであるはずだった。 'gc $ sourcefile'を変数に代入し、インポートしたプロパティ名を参照して 'samaccountname'を "C:\ users"を追加するプロパティに置き換えます。 – thepip3r

+0

@soltkr 'gc'は' Get- 'Import-CSV'を使って、そのプロパティを持たない' Content'はそのエラーを取り除くでしょう。 – BenH

0

csvをインポートし、そのcsvのエントリをループします。それぞれについて、必要なプロパティ名を持つオブジェクトを作成します。その後、エクスポート

$DataToExport = Import-CSV $sourcefile | ForEach-Object { 
    [pscustomobject]@{ 
     "Header" = "C:\Users\$($_.samaccountname)" 
    } 
} 
$DataToExport | Export-CSV $newfile -NoTypeInformation 
+1

pscustomobjectに誤った '' 'がありました。 – LotPings

関連する問題