SCPファイルとpackディレクトリ間の変換を行うツールです。
.scpファイルはZIP圧縮されたアーカイブファイルですpackディレクトリは展開された状態のファイル構造です- 双方向の変換をサポートしています
cargo build --releasepackディレクトリをSCPファイルに変換します:
cargo run -- pack -i "example/pack" -o "output.scp"SCPファイルをpackディレクトリに展開します:
cargo run -- unpack -i "input.scp" -o "output_dir"SCPファイルに含まれるファイル一覧を表示します:
cargo run -- list -f "input.scp"SCPファイル内の特定ファイルを表示します:
cargo run -- show -s "input.scp" -f "db.json"-cまたは--compressionオプションで圧縮レベル(0-9)を指定できます:
cargo run -- pack -i "pack" -o "output.scp" -c 9src/
├── main.rs # CLIエントリーポイント
├── lib.rs # ライブラリルート
├── converter.rs # メイン変換ロジック
├── pack_archiver.rs # Pack → SCP変換
├── pack_extractor.rs # SCP → Pack変換
├── error.rs # エラー型定義
└── utils.rs # ユーティリティ関数
- Pack → SCP: packディレクトリを圧縮してSCPファイルを作成
- SCP → Pack: SCPファイルを展開してpackディレクトリを作成
- 内容確認: SCPファイルの内容一覧表示
- ファイル表示: SCPファイル内の特定ファイル内容表示
- 設定可能な圧縮レベル: 0(無圧縮)から9(最高圧縮)まで選択可能
- エラーハンドリング: 詳細なエラーメッセージとバリデーション
zip: ZIP圧縮・展開clap: コマンドライン引数解析anyhow: エラーハンドリングwalkdir: ディレクトリトラバーサルserde,serde_json: JSON処理