使用 PowerShell 解压缩 GZip 可以,但我可以直接解压缩到文件吗?

Unzipping a GZip with PowerShell works but can I extract directly to file?

互联网是一个了不起的地方,我发现 this code 让我可以将 tar.gz 文件扩展到 .tar:

Function DeGZip-File{
    Param(
        $infile,
        $outfile = ($infile -replace '\.gz$','')
        )
    $input = New-Object System.IO.FileStream $inFile, ([IO.FileMode]::Open), ([IO.FileAccess]::Read), ([IO.FileShare]::Read)
    $output = New-Object System.IO.FileStream $outFile, ([IO.FileMode]::Create), ([IO.FileAccess]::Write), ([IO.FileShare]::None)
    $gzipStream = New-Object System.IO.Compression.GzipStream $input, ([IO.Compression.CompressionMode]::Decompress)
    $buffer = New-Object byte[](1024)
    while($true){
        $read = $gzipstream.Read($buffer, 0, 1024)
        if ($read -le 0){break}
        $output.Write($buffer, 0, $read)
        }
    $gzipStream.Close()
    $output.Close()
    $input.Close()
}
DeGZip-File "C:\temp\maxmind\temp.tar.gz" "C:\temp\maxmind\temp.tar"

现在我手上有一份.tar文件。但是我怎样才能打开它呢?

我的目标是直接从 .tar.gz 提取到文件。

Get-ChildItem -Path $InputPath -Filter "*.tar.gz" | 
Foreach-Object {
    tar -xvzf $_.FullName -C $OutputPath
}