Drive 2 (label "Backup", 12 TB, 6.77 TB used) — second of N VWP backup drives. Scanned via WizTree, analyzed with analyze_wiztree.py. NEW source content: - 000_ASource/ — Darv's active work-in-progress folder. Contains TEST_VWP.vbp (2021-08-16, only .vbp newer than the 2020-06-09 baseline), four frmLotInfo*.frm variants (2020-10 to 2021-08), and an MSSCCPRJ.SCC file confirming Darv used Visual SourceSafe. - The accompanying Vwp.mdb (2022-10-19, 764 MB) stays on local disk per .gitignore — newest database snapshot we have. Analysis CSVs: - source-analysis/drive2-2026-05-16/ — per-category + per-keyword breakdown of drive 2's 3.95M files (vs drive 1's 1.87M). Categories largely match drive 1 but with ~2x volume. Net findings vs drive 1: - Confirmed 4-year gap: only 4 .vbp files newer than 2020-06-09 on drive 2, all the same TEST_VWP.vbp scaffold. Main ORDERS_C.vbp source remains 2020-06-09. Darv stopped active VB6 dev around mid-2020. - 43 GB Win7 Backup-and-Restore set in D:\Archive\Darv-Win7-PC\ (2023) not copied — deferred to later drives, ZIPs extractable on demand. - Master Darv folder is bit-for-bit duplicate of drive 1's master (135 GB, same file/folder counts). Skipped. New helper scripts: - find_newer_vbp.py — list .vbp files newer than a date, filter SDK noise - drive2_inspect.py / drive2_priorities.py — drive-specific triage Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
"""Inspect specific drive 2 paths of interest."""
|
|
import csv
|
|
from collections import defaultdict
|
|
|
|
WIZ = 'clients/valleywide/app-modernization/WizTree_20260516173603.csv'
|
|
|
|
PATHS_OF_INTEREST = (
|
|
r'D:\Archive\Darv-Win7-PC',
|
|
r'D:\Office-Estimates\Darv\000_ASource',
|
|
r'D:\Archive\98_Server\O Drive\G-Drive\Darv',
|
|
)
|
|
|
|
# Files under each path, top 30 by size
|
|
by_path = defaultdict(list)
|
|
all_vdi = []
|
|
|
|
with open(WIZ, encoding='utf-8-sig', errors='replace') as f:
|
|
r = csv.reader(f); next(r); next(r)
|
|
for row in r:
|
|
if not row or len(row) < 4:
|
|
continue
|
|
p = row[0]
|
|
if p.endswith('\\'):
|
|
continue # files only
|
|
for prefix in PATHS_OF_INTEREST:
|
|
if p.startswith(prefix + '\\'):
|
|
try:
|
|
sz = int(row[1])
|
|
except ValueError:
|
|
sz = 0
|
|
by_path[prefix].append((sz, row[3], p))
|
|
break
|
|
# also catch all .vdi anywhere on this drive
|
|
if p.lower().endswith('.vdi'):
|
|
try:
|
|
sz = int(row[1])
|
|
except ValueError:
|
|
sz = 0
|
|
all_vdi.append((sz, row[3], p))
|
|
|
|
for prefix in PATHS_OF_INTEREST:
|
|
items = sorted(by_path[prefix], reverse=True)
|
|
print(f'\n=== Top 20 files under {prefix} ({len(items)} files total) ===')
|
|
for sz, mod, p in items[:20]:
|
|
print(f'{sz/1024/1024:>10.1f} MB {mod:<19} {p}')
|
|
|
|
print(f'\n=== All .vdi files on drive 2 ({len(all_vdi)} total), sorted by size ===')
|
|
for sz, mod, p in sorted(all_vdi, reverse=True):
|
|
print(f'{sz/1024/1024/1024:>8.2f} GB {mod:<19} {p}')
|