Such tools really exist and they're used for testing file systems, so that you have a more realistic "aged" layout on a freshly created test file systems.
We also have memory fragmenters to do the same for memory for the same reasons.
We also have memory fragmenters to do the same for memory for the same reasons.
Admittedly I haven’t made much of a search, but various search engines and autocorrects seem really convinced that I mean “defragmenter” instead of “fragmenter,” despite myself…
Actually here is a recent paper discussing this (although the basic concept is much older):