2016-10-31 6 views

答えて

1

あなたは、ドットネット4.5は、上記のコマンドレットを実行する前に、インストールされていることを確認するコマンドレット

$ZipFile="Path" 
$AllFile=Get-ChildItem $ZipFile -Recurse -Filter '*.zip' 
$ObjArray = @() 
foreach ($item in $AllFile){ 
    $FullName=$item.FullName 
    $RawFiles = [IO.Compression.ZipFile]::OpenRead($FullName).Entries    
    $FullPathName=$FullName+"\"+"$RawFile" 
foreach($RawFile in $RawFiles) { 

    $object = New-Object -TypeName PSObject    
    $Object | Add-Member -MemberType NoteProperty -Name FileName -Value $RawFile.Name 
    $Object | Add-Member -MemberType NoteProperty -Name FullPath -Value $FullPathName    
    $Object | Add-Member -MemberType NoteProperty -Name CompressedLengthInKB -Value ($RawFile.CompressedLength/1KB).Tostring("00")    
    $Object | Add-Member -MemberType NoteProperty -Name UnCompressedLengthInKB -Value ($RawFile.Length/1KB).Tostring("00")    
    $Object | Add-Member -MemberType NoteProperty -Name FileExtn -Value ([System.IO.Path]::GetExtension($RawFile.FullName))    
    $Object | Add-Member -MemberType NoteProperty -Name ZipFileName -Value $zipfile    
    $ObjArray += $Object    
} 

} 

の下に使用したZipフォルダの内容を取得することができます。

+0

あなたと確認するだけです。 「Zipフォルダパス」:C:\ MyTempまたはC:\ MyTemp \ foo.zipまたはC:\ MyTemp \ * .zip?私は検索するために何百ものzipファイルを持っているので、C:\ MyTempと同じくらい簡単だと思っています。 – Underdog

+0

@Underdogスクリプトを編集しました。これで、 'path'にc:\ mytempを指定できます。 c:\ mytemp内のすべてのzipフォルダの詳細を取得します – Venkatakrishnan

+0

サンプルが正常に機能していることを報告できますが、ziparchive名のリストを含むファイルは出力されません。 "Simulate =' "true" " "私はいくつかの変更を加えましたが、それでも私は上記のことをやっています。 – Underdog

関連する問題