2016-10-17 20 views
0

名前付き列を削除するPowerShellスクリプトを作成しています。ヘッダー名が "xyz"の列を選択しない方法はありますか? ヘッダー名でCSV列を削除する

は私は

$new = $hnames -join "," 
$new = $new -replace "xyz,", "" 

およびインポート/エクスポートCSVを

$hnames = $csv | Get-Member -MemberType NoteProperty | foreach {$_.name} 

によってヘッダー名を取得し、カンマ区切り文字列に結果を結合し、不要なヘッダを除去しようとselect

Import-CSV $tempfile -Delimiter ";" | Select $new | 
    Export-Csv tempynew.csv -Delimiter ";" -Encoding UTF8 -NoTypeInfo 

ただし、CSVファイルのヘッダーのみを出力しますe。

答えて

4

Select-Object代わりに-ExcludePropertyパラメータを使用します。

Import-Csv $tempfile -Delimiter ";" | Select * -ExcludeProperty xyz | 
    Export-Csv tempynew.csv -Delimiter ";" -Encoding UTF8 -notypeinfo 
+0

をあなたは私のヒーローです!ありがとう:) – Fabian9008

1

あなたはまた、ちょうどこのように、あなたが含めたい列を指定することができます。

Import-Csv $tempfile -Delimiter ";" | Select Column1,Column2,Column10 | Export-Csv tempynew.csv -Delimiter ";" -Encoding UTF8 -notypeinfo 
関連する問題