2016-10-31 2 views

답변

1

당신은

$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    
} 

} 

4.5 위 cmdlet을 실행하기 전에 설치되어 있는지 점 순 확인 cmdlet을

이하로 사용하여 우편 폴더의 내용을 얻을 수 있습니다.

+0

확인해주세요. "Zip 폴더 경로": C : \ MyTemp 또는 C : \ MyTemp \ foo.zip 또는 C : \ MyTemp \ *. zip입니까? 검색 할 수있는 zip 파일이 수백 개 있기 때문에 C : \ MyTemp처럼 간단 할 것으로 기대하고 있습니다. – Underdog

+0

@Underdog 스크립트를 편집했습니다. 이제 '경로'에 c : \ mytemp를 입력 할 수 있습니다. c : \ mytemp 내의 모든 zip 폴더에 대한 세부 정보를 가져옵니다. – Venkatakrishnan

+0

샘플이 작동한다고보고 할 수는 있지만 ziparchive 이름 목록이있는 파일은 출력되지 않습니다. "Simulate ='"true "" ". 나는 약간의 변화를 만들었고 여전히 위에있는 것을하고있다. – Underdog

관련 문제