FileDO is a fast Windows command-line tool for working with storage devices, folders, and network shares.
It detects fake USB/SD cards by writing and verifying real data, benchmarks read/write speeds, securely
wipes free space at multi-GB/s, finds and manages duplicate files via MD5 with hash caching, and copies
large trees with progress and timeout protection.
# Check if USB/SD card is fake
filedo E: test del
# Test drive performance
filedo C: speed 100
# Secure wipe free space
filedo D: fill 1000 del
# Find and manage duplicate files
filedo C: check-duplicates
filedo D: cd old del
# Copy files with progress tracking
filedo folder C:\Source copy D:\Backup
filedo device E: copy F:\Archive
# Fast wipe folder contents
filedo folder C:\Temp wipe
filedo folder D:\Cache w
# Show device info
filedo C: info
οΏ½ Compare & Cleanup
# Compare two folders and show summary + save report
filedo compare D:\Data E:\Backup
# Compare and delete (permanent, no confirmation)
filedo cmp D:\Data E:\Backup del source # delete in Source if also exists in Target
filedo cmp D:\Data E:\Backup del target # delete in Target if also exists in Source
filedo cmp D:\Data E:\Backup del old # delete older side (by mtime), equal time: skip
filedo cmp D:\Data E:\Backup del new # delete newer side (by mtime), equal time: skip
filedo cmp D:\Data E:\Backup del small # delete smaller side, equal size: skip
filedo cmp D:\Data E:\Backup del big # delete bigger side, equal size: skip
# Optional side qualifier (only apply when that side matches)
filedo cmp D:\Data E:\Backup del small source # only if smaller is on Source
filedo cmp D:\Data E:\Backup del big target # only if bigger is on Target
filedo cmp D:\Data E:\Backup del old target # only if older is on Target
filedo cmp D:\Data E:\Backup del new source # only if newer is on Source
Notes: matching by relative path, size-only equality; optional side qualifier for old/new/small/big; mtime used for old/new; Windows compare is case-insensitive; logs: compare_report_.log, delete_report__.log.
π§ͺ Health CHECK (fast read check)
# Check folder by reading files; mark as damaged if initial read delay > 2.0s
filedo check F:\Mov
CHECK: CLI flags (flags override env)
Flags mirror FILEDO_CHECK_* environment variables and have precedence. Use them after check .
# Balanced mode, worker override, ETA precount
filedo check D:\Data --mode balanced --workers 6 --threshold 1.8 --precount
# Force single-reader for HDD/USB with adaptive throttling
filedo check F:\Photos --single-reader on --ewma-alpha 0.2 --max-sleep-ms 250
# Filter by extensions, cap files, save CSV report
filedo check D:\Media --include-ext .jpg,.png --max-files 1000 --report csv --report-file D:\rep.csv
# Use custom good files cache list and quiet output
filedo check D:\Data --good-list D:\check_files.list --quiet
One-time warm-up allowance up to 10.0s before the first read (spin-up)
Uses skip_files.list for immediate, persistent recording (no damaged_files.log)
Skips paths already in skip_files.list; parallel workers; Ctrl+C supported
π₯ Installation
Option 1 β winget (recommended)
winget install SerZhyAle.FileDO
# short form (works once Microsoft indexes the moniker):
winget install filedo
This installs all four CLI tools (filedo, filedo_check, filedo_fill, filedo_test) and adds them to your PATH. To upgrade later:
winget upgrade SerZhyAle.FileDO
To uninstall:
winget uninstall SerZhyAle.FileDO
Option 2 β Manual download
Download: Grab the latest FileDO--windows-x64.zip from Releases
Extract anywhere (e.g. C:\Tools\FileDO)
Optional: add the folder to your PATH so you can call filedo from any directory
GUI Option: also download filedo_win.exe from exe_to_download/ for the VB.NET visual interface
Run: execute from command line or GUI
Option 3 β Build from source
git clone https://github.com/SerZhyAle/FileDO.git
cd FileDO
.\build.ps1 # or build.bat
Requires Go 1.24+. Builds all four executables into exe_to_download/.
π§ Core Operations
πΎ Device Testing
# Information
filedo C: info
filedo D: short
# Fake capacity detection
filedo E: test
filedo F: test del
# Performance testing
filedo C: speed 100
filedo D: speed max
π File & Folder Operations
# Folder analysis
filedo C:\temp info
filedo . short
# Performance testing
filedo C:\data speed 100
filedo folder . speed max
# Network operations
filedo \\server\share test
filedo network \\nas\backup speed 100
# Batch operations
filedo from commands.txt
filedo batch script.lst
# Cleanup
filedo C:\temp clean
π Key Features
π― Fake Capacity Detection
100-file verification with 1% capacity each
Random position verification - each file checked at unique random positions every time
Anti-sophisticated fake protection - defeats controllers that preserve predictable data positions
Readable patterns - uses ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 for easy corruption detection
Fast raw probe (probe) - writes 32 markers via direct LBA access, completes in ~1 min (requires Admin)
# Run from filedo_win_vb folder
filedo_win.exe # Windows GUI interface
Features:
Built with VB.NET Windows Forms for native Windows experience
Automatic command validation and parameter checking
Real-time output display with color coding
Integration with main CLI application
π Advanced Features
Batch Processing
Create commands.txt:
# Multiple device check
device C: info
device D: test del
device E: speed 100
folder C:\temp clean
Run: filedo from commands.txt
History Tracking
filedo hist # Show last 10 operations
filedo history # Show command history
# History automatically logged for all operations
Interruption Support
# All long-running operations support Ctrl+C interruption
# Graceful cancellation with cleanup
# Context-aware interruption at optimal points
Network Operations
# SMB shares and network drives
filedo \\server\backup speed 100
filedo \\nas\storage test del
filedo network \\pc\share info
β οΈ Important Notes
> π― Fake Capacity Detection: Creates 100 files (1% capacity each) with context-aware interruption support. Uses modern random verification patterns and optimized buffer management for reliable detection.
> π₯ Enhanced Interruption: All long-running operations support Ctrl+C graceful cancellation with automatic cleanup. Context-aware interruption checks at optimal points for immediate responsiveness.
> οΏ½οΈ Secure Wiping: fill del overwrites free space with optimized buffer management and context-aware writing for secure data deletion.
> π’ Test Files: Creates FILL_*.tmp and speedtest_*.txt files. Use clean command to remove them automatically.
> π΅ Modular Architecture: Refactored with separate capacitytest and fileduplicates packages for better maintainability and extensibility.
> π§ͺ CHECK Command: Marks a file as damaged if initial read delay exceeds 2.0s. Allows a one-time warm-up up to 10.0s. Writes immediately to skip_files.list and respects existing entries. No damaged_files.log.
π Examples by Use Case
π Verify USB/SD Card Authenticity
# Quick test with cleanup
filedo E: test del
# Detailed test, keep files for analysis
filedo F: test
# Check drive info first
filedo E: info
β‘ Performance Benchmarking
# Quick 100MB test
filedo C: speed 100 short
# Maximum performance test (10GB)
filedo D: speed max
# Network speed test
filedo \\server\backup speed 500
π‘οΈ Secure Data Wiping
# Fill 5GB then secure delete
filedo C: fill 5000 del
# Clean existing test files
filedo D: clean
# Before disposing drive
filedo E: fill max del
π Find & Manage Duplicates
# Find duplicates in current directory
filedo . check-duplicates
# Find and delete older duplicates
filedo C: cd old del
# Find and move newer duplicates to backup
filedo E: cd new move E:\Backup
# Save duplicates list for later processing
filedo D: cd list duplicates.lst
# Process saved list with specific action
filedo cd from list duplicates.lst xyz del
ποΈ Technical Details
Architecture
Modular Design: Separated into specialized packages for better maintainability
Context-Aware Operations: All long-running operations support graceful cancellation
Unified Interface: Common Tester interface for all storage types
Memory Optimization: Streaming operations with optimized buffer management
Cross-Platform: Primary Windows support with portable Go codebase