Jestem nowicjuszem i szukam listy wszystkich plików zawartych w plikach zip w katalogu. Nie chcę używać żadnego narzędzia innej firmy.Jak wyświetlić listę plików w pliku zip w grze powershell?
Structure of the directory is
mydir > dir
a.zip
b.zip
c.zip
with each file containing files named 1.txt or 2.txt or 3.txt
I am trying to get an output in the form
a.zip:1.txt
a.zip:2.txt
b.zip:files\3.txt
b.zip:4.txt
c.zip:1.txt
d.zip:10.txt
i tak dalej.
Niestety, moje środowisko nie ma wersji 4.5, ale 4.0. Udało mi się napisać ten kod, ale nadal wymaga on wiele analizowania, ponieważ rozpakowanie daje wiele dodatkowych informacji.
$packagedir="C:\Packages"
$unzipcmd = "c:\bins\unzip.exe -l"
$unmatchstr = "*Archive*"
pushd .
cd $packagedir
$filelist= Get-ChildItem -Recurse | Select-Object -ExpandProperty FullName
foreach ($item in $filelist)
{$ziplist = Invoke-Expression "$unzipcmd $item";
foreach ($item2 in $ziplist)
{
if ($item2.Contains("Archive"))
{
}
else
{
echo $item "::" $item2}}
}
popd
Czy istnieje łatwiejszy sposób analizowania tego. W wyjściu unzip -l znajduje się wiele dodatkowych informacji, takich jak nagłówki kolumn, separatory i daty oraz inna data przed każdą nazwą pliku.
http://www.minasi.com/forum/topic.asp?TOPIC_ID=26804 –
http://learningpcs.blogspot.com/2010/07/powershell-working-with-zip-files.html –