ホームページ > バックエンド開発 > Golang > 7zip を使用して Go 1.2 でパスワードで保護された ZIP ファイルを解凍する方法

7zip を使用して Go 1.2 でパスワードで保護された ZIP ファイルを解凍する方法

Patricia Arquette
リリース: 2024-11-04 03:12:02
オリジナル
1061 人が閲覧しました

How to Unzip Password-Protected ZIP Files in Go 1.2 Using 7zip?

Go 1.2 でパスワードで保護された ZIP ファイルを解凍する

os/exec パッケージは、外部コマンドと対話するための便利な方法を提供します。 Go 1.2 で 7zip を使用して暗号化された ZIP ファイルを解凍するには、次の点を考慮してください。

アーカイブ/zip パッケージは、基本的な ZIP 操作機能を提供します。パスワードで保護された ZIP ファイルを解凍するために 7zip を使用する代わりに、os/exec を通じて 7zip を使用できます。

次の図を参照してください:

<code class="go">import (
    "fmt"
    "os/exec"
    "strings"
)

func extractZipWithPassword() {
    fmt.Printf("Unzipping `%s` to directory `%s`\n", zipPath, extractPath)
    commandString := fmt.Sprintf(`7za e %s -o%s -p"%s" -aoa`, zipPath, extractPath, zipPassword)
    commandSlice := strings.Fields(commandString)
    fmt.Println(commandString)
    c := exec.Command(commandSlice[0], commandSlice[1:]...)
    e := c.Run()
    checkError(e)
}</code>
ログイン後にコピー

7zip を使用したサンプル プログラム

<code class="go">package main

import (
    "fmt"
    "os"
    "os/exec"
    "path/filepath"
    "strings"
)

var (
    // Your variables and paths...
)

func main() {
    fmt.Println("# Setup")
    //...
    fmt.Println("# Answer to question...")
    extractZipWithPassword()
    //...
    fmt.Println("Done.")
}</code>
ログイン後にコピー

出力:

# Setup
# Answer to question...
Unzipping `test/src/sample.zip` to directory `test/extracted`
7za e test/src/sample.zip -otest/extracted -p"42" -aoa
Reading test/extracted/name.txt
Done.
ログイン後にコピー

このアプローチでは、Go 1.2 の 7zip を使用してパスワードで保護された ZIP ファイルを解凍できます。

以上が7zip を使用して Go 1.2 でパスワードで保護された ZIP ファイルを解凍する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート