2017-06-16 19 views
1

私はスクリプトを実行するとなぜ結果が表示されるのか知りたいのですが、私の配列の間。私は実際に2つのExcelの列を比較し、違いを表示しようとしています。セルが最初の列になく、2番目の列にあるセルは列を表示します。どうすればこれらを削除できますか; "列の違いを取得しますか?私はまた、1列を持ついくつかのファイルで試してみた、それが動作しますPowerShellスクリプト:結果の問題

結果:

スクリプト
ComputerName;;;;;OtherComputerName 
---------------------------------- 
uiojk;;;;;uih      
hjbyu;;;;;ubyhi` 

:あなたが使用したい場合は

#get the content of the column in the file 
[string[]]$a = import-csv '.\test1.csv' | select -expand ComputerName 
[string[]]$d = import-csv '.\test1.csv' | select -expand OtherComputerName 

#display the cells which aren't in the $a list 

$d |? {$a -notcontains $_} 

#displays the columns of one file 

[Array]$stores[2].ComputerName 
[Array]$stores[2].OtherComputerName 

$stores 

答えて

2

Import-Csvは、デフォルトの区切り文字としてカンマを使用しています別の文字の場合は、-Delimiterオプションを使用する必要があります。

$x = Import-Csv .\test1.csv -Delimiter ';' 
Compare-Object -ReferenceObject $x.ComputerName -DifferenceObject $x.OtherComputerName 

このコードでは、すべてのCSV列にヘッダーがあるわけではないため、警告が生成されますが、それでも機能します。

関連する問題