古い質問ですが、今日は苦労していたので、ここに私の2cがあります。7zip コマンドライン ツール "7z.exe" (v9.22 がインストールされています) は、stdout に書き込み、stdin から読み取ることができるため、パイプを使用して中間 tar ファイルなしで実行できます。
7z x "somename.tar.gz" -so | 7z x -aoa -si -ttar -o"somename"
どこ:
x = Extract with full paths command
-so = write to stdout switch
-si = read from stdin switch
-aoa = Overwrite all existing files without prompt.
-ttar = Treat the stdin byte stream as a TAR file
-o = output directory
コマンド ライン コマンドとスイッチの詳細については、インストール ディレクトリにあるヘルプ ファイル (7-zip.chm) を参照してください。
@zespriで指摘されているように、 powershellは入力を 2 番目の 7z プロセスにバッファリングするため、tar ファイルが大きい場合は多くのメモリを消費する可能性があります。すなわち:
& 7z x "somename.tar.gz" -so | & 7z x -aoa -si -ttar -o"somename"
PowerShell からこれを実行する場合のこの SO 回答の回避策は、コマンドを cmd.exe に渡すことです。
& cmd.exe '/C 7z x "somename.tar.gz" -so | 7z x -aoa -si -ttar -o"somename"'