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 サイトの他の関連記事を参照してください。