2016-05-11 14 views
-1

この場合、特定の拡張子(.dll)を持つすべてのファイルをリストするスクリプトを作成しています。私のスクリプトは、私はマイクロソフトの著作権を持っているすべてのファイルを除外したい以外は問題なく動作しています。どんなアプローチをとるべきですか? Where-Object -statement内$_.VersionInfo.LegalCopyrightを使用してpowershellを使用して.dllファイルを表示しますか?

$Dir = Get-ChildItem C:\Windows\Microsoft.NET\Framework -include *.dll -recurse | sort-object name | format-table name, directory -auto 
$Dir 

答えて

3

フィルター。例:

$Dir = Get-ChildItem C:\Windows\Microsoft.NET\Framework -include *.dll -recurse | 
Where-Object { $_.VersionInfo.LegalCopyright -notmatch 'Microsoft' } 
$Dir | sort-object name | format-table name, directory -auto 

変数でFormat-Tableからのデータを保管しないでください。オブジェクトをスローし、使用できないフォーマットオブジェクトを返します。コンソールまたはexに出力するときにのみ使用してください。ファイルに保存するときは| Out-String | Out-File ...となります。

+0

これは私のために働いた。テーブルの列の1つに出版社の名前を印刷する方法もあります。 ? –

+0

計算されたプロパティを使用します。パブリッシャーはどういう意味ですか? '$ dir [0] .VersionInfo |を使ってください。 format-list * 'を使用して利用可能なプロパティを表示します。それがあなたの後のものなら、CompanyNameと呼ばれるものがあります。例: '$ Dir | |ソートオブジェクト名|フォーマットテーブル名、ディレクトリ、@ {n = "出版社"、e = {$ _。VersionInfo.CompanyName}} -auto' –

+0

これは私が感謝したいことです。あなたはどこで@ {n =; e =}もの。それはなんと呼ばれていますか ? –

関連する問題