2
Я отредактировал это сообщение, чтобы удалить весь код.Чтение архивных файлов zip для содержимого
Я отредактировал это сообщение, чтобы удалить весь код.Чтение архивных файлов zip для содержимого
Вы можете получить содержимое Zip папки с помощью командлетов ниже
$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 установлен перед запуском выше командлетов.
Просто для проверки. Является ли «путь к папке Zip»: C: \ MyTemp или C: \ MyTemp \ foo.zip или C: \ MyTemp \ *. Zip? Я надеюсь, что это так же просто, как C: \ MyTemp, поскольку у меня есть сотни zip-файлов для поиска. – Underdog
@Underdog Отредактирован сценарий. Теперь вы можете поставить c: \ mytemp в «путь». Он предоставит вам сведения обо всех zip-папках внутри c: \ mytemp – Venkatakrishnan
Хотелось бы мне сообщить, что ваш образец работает, но он не выводит файл со списком имен ziparchive, где «Simulate =' 'true'" ». Я сделал несколько изменений и все еще делаю то, что у меня выше. – Underdog