2016-04-01 10 views
0
で取得する

システム内のすべてのファイルを処理するpowershellスクリプトを実行しようとしており、1行に1ファイルのテキストファイルを作成しています。私は名前、ディレクトリ、サイズ、バージョン、そして最後に変更が必要です。以下このコードはバージョン5(アクセスが拒否された場合には、エラーがスローされます)で...ではなく、バージョン2で正常に動作します....powershell CSV形式のすべてのOSファイルをバージョン

すべての行がどのように見える
Get-ChildItem -Path . -Recurse | 
    foreach-object { 
     [pscustomobject]@{ 
      Name = $_.fullname; 
      DateModified = $_.LastWriteTime; 
      Version = $_.VersionInfo.FileVersion; 
      Length = $_.length; 
     } 
    } | Export-Csv -Path "c:\workingfiles\post.csv" -NoTypeInformation 

"False","False","False","System.Collections.Hashtable+KeyCollection","System.Collections.Hashtable+ValueCollection","System.Object","4" 

バージョン2で必要なものを手に入れたいのですが? (アップグレードすることはできません)

-Ken

答えて

1

代わりのpscustomobjectにハッシュテーブルをキャスト、New-Object -Propertyを呼び出す:

Get-ChildItem -Path . -Recurse |ForEach-Object { 
    New-Object psobject -Property @{ 
     Name = $_.FullName; 
     DateModified = $_.LastWriteTime; 
     Version = $_.VersionInfo.FileVersion; 
     Length = $_.Length; 
    } 
} | Export-Csv -Path "c:\workingfiles\post.csv" -NoTypeInformation 
関連する問題