import base64
packer_readme_content = """# Safe Project ZIP Packer (安全成果物圧縮ツール)
A non-destructive C++ tool that clones your project folder, strips unwanted development garbage (x64, .vs, .git), and packages the raw source files into a flat, clean ZIP archive for sharing.
開発元の環境(オリジナルフォルダー)を一切傷つけることなく、一時的な複製を作って不要なビルドゴミ(x64, .vs, .git)を間引き、相手が解凍してすぐに使えるフラットなZIPを作成するC++製軽量ツールです。
- 100% Non-Destructive: Keeps your active development environment completely safe. It never deletes files from the original folder.
- 完全な元データ保護: 元フォルダーからは1ファイルも削除しません。開発環境を壊すリスクはゼロです。
- Automatic Flat ZIP Layout: Packages contents directly without nested redundant directories.
- 階層のフラット化: 解凍時に余計な親フォルダーを挟まず、直下に中身が展開される親切仕様です。
- Flexible Modes / 2つの選択モード:
- [1] Standard Clean: Strips
x64and.vs(Keeps.githistory in the archive).- 通常の成果物配布用。容量を食うビルドゴミだけを排除し、Git履歴は残します。
- [2] Pure Source Clean: Strips
.git,x64, and.vs(Source code only).- 完全なソースコードのみ配布用。Gitの履歴すら含めない、最も軽量な状態にします。
- [1] Standard Clean: Strips
- Auto-Cleanup: Instantly purges the temporary folder (
_tmp) after the compression succeeds.- 自動クリーンアップ: ZIP作成完了後、裏で作った一時フォルダは自動で跡形もなく消去されます。
- Zero External Dependencies: Uses Windows native PowerShell (
Compress-Archive) under the hood—no bulky external compression libraries required.- 外部ライブラリ不要: Windows標準のPowerShellを叩くため、単一の
.exeだけで動作します。
- 外部ライブラリ不要: Windows標準のPowerShellを叩くため、単一の
Run the compiled xxxx.exe. Drag & drop capability is fully supported!
ビルドしてできた xxxx.exe を起動します。ドラッグ&ドロップに対応しています。
コードの出力 Packer README file generated successfully.
===== Safe Project ZIP Packer =====
Select mode for ZIP generation:
[1] Exclude 'x64' and '.vs' (Keep .git in original)
[2] Exclude '.git', 'x64', and '.vs' (Keep everything in original)
[3] Cancel / Exit
Choose [1-3]: 1 <-- Choose your mode / モードを選択
Enter the project folder path
(You can also Drag & Drop the folder here): "C:\\MyGames\\AwesomeProject" <-- Drag & Drop / フォルダをドロップしてEnter
[1/4] Copying original project to temporary folder...
[2/4] Cleaning garbage from the temporary folder...
[3/4] Packaging contents into ZIP...
-> Generated: AwesomeProject_release.zip
[4/4] Removing temporary folder...
===> [SUCCESS] Done! Original folder remains completely untouched.