Files
autoreg-skills-max/skills/chatgpt-autoreg/references/windows-file-consolidation.md

1.7 KiB

File Consolidation — Windows Quirks

Copy large projects (skip .venv, node_modules)

Python shutil approach — handles Windows paths correctly:

import shutil, os

src = r"C:\Users\User\Desktop\_PROJECTS\oai-register\aBaiAutoplus"
dst = r"C:\Users\User\Desktop\GPT-AUTOREG-FULL\aBaiAutoplus"

SKIP_ROOTS = {'.venv', '__pycache__', 'node_modules', '.git', 'frontend', 'electron'}

os.makedirs(dst, exist_ok=True)

for item in os.listdir(src):
    if item in SKIP_ROOTS:
        continue
    s = os.path.join(src, item)
    d = os.path.join(dst, item)
    if os.path.isfile(s):
        shutil.copy2(s, d)
    elif os.path.isdir(s):
        def local_ignore(p, names):
            return {n for n in names if n in ('__pycache__', 'node_modules', '.venv') or n.endswith('.pyc')}
        shutil.copytree(s, d, ignore=local_ignore)

Remove locked node_modules (Windows)

When rm -rf fails with "Device or resource busy":

# Git Bash rm doesn't work on locked files — use cmd
cmd //c "rmdir /s /q C:\Users\User\Desktop\GPT-AUTOREG-FULL\aBaiAutoplus\frontend"

The double-slash //c is required in MSYS/Git Bash to pass /c to cmd.exe.

Archive creation (Windows)

Only tar + gzip available via Git Bash. zip and 7z are NOT installed.

cd "/c/Users/User/Desktop" && tar czf "GPT-AUTOREG-FULL.tar.gz" "GPT-AUTOREG-FULL/"

Verify: tar tzf archive.tar.gz | wc -l (count files), stat -c%s archive.tar.gz (size).

Exclude patterns for tar

tar does not support --exclude reliably in Git Bash. Instead:

  • Pre-clean the source directory (remove .venv, node_modules, pycache)
  • Then tar the clean directory
  • Or use --exclude='.venv' --exclude='__pycache__' but test first