|
I am using dupehunter on Windows 11 and want to use to reclaim space. A few questions:
|
Replies: 1 comment
|
All three questions answered below. 1. NTFS hardlinks on WindowsYes — dupehunter fully supports NTFS hardlinks on Windows. NTFS has supported hardlinks since Windows Vista, and the Node.js call that dupehunter uses is cross-platform. There is one NTFS-specific constraint: hardlinks cannot cross drive letters (e.g., you cannot hardlink → ). dupehunter automatically detects this — files on different volumes are never suggested as hardlink candidates. 2. Safety during interruptiondupehunter uses an atomic two-step operation for each hardlink:
If the process is interrupted between step 1 and step 2, you get two paths pointing to the same inode (no data loss). Re-running dupehunter after an interrupted session correctly identifies these as already-hardlinked and reports 0 bytes reclaimable — so the idempotent re-run is always safe. If interrupted before step 1 completes (e.g., during a large batch), the files already processed are safe (hardlinked), and unprocessed files are untouched originals. No partial or corrupt state is possible. 3. Dry-run modeUse the flag to preview all operations without touching the filesystem: dupehunter --hardlink --dry-run ~/DownloadsThis outputs the same summary table as a real run, including which files would be hardlinked and how much space would be reclaimed, but makes zero filesystem changes. It is the recommended first step before any destructive operation. |
All three questions answered below.
1. NTFS hardlinks on Windows
Yes — dupehunter fully supports NTFS hardlinks on Windows. NTFS has supported hardlinks since Windows Vista, and the Node.js call that dupehunter uses is cross-platform. There is one NTFS-specific constraint: hardlinks cannot cross drive letters (e.g., you cannot hardlink → ). dupehunter automatically detects this — files on different volumes are never suggested as hardlink candidates.
2. Safety during interruption
dupehunter uses an atomic two-step operation for each hardlink:
If the process is interrupted between step 1 and step 2,…